Advertisement
SleepyScripter

Chat Bypasser 2025

Jan 19th, 2025
11,021
-2
Never
2
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.77 KB | None | 0 2
  1. --[[
  2. WARNING: Heads up! This script has been verified by TerryScripts.
  3. ]]
  4.  
  5. local OrionLib = loadstring(game:HttpGet(('https://raw.githubusercontent.com/shlexware/Orion/main/source')))()
  6. local Window = OrionLib:MakeWindow({Name = "Chat Bypasser", HidePremium = false, IntroText = "Chat Bypasser", SaveConfig = false})
  7.  
  8. loadstring(game:HttpGet('https://raw.githubusercontent.com/vqmpjayZ/More-Scripts/main/Anti-Chat-Logger'))() -- anti chat logger (not by me)
  9.  
  10. function chat(msg)
  11.  
  12. if game:GetService("TextChatService").ChatVersion == Enum.ChatVersion.TextChatService then
  13. game:GetService("TextChatService").TextChannels.RBXGeneral:SendAsync(msg)
  14. else
  15. game.ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(msg, "All")
  16. end
  17.  
  18. end
  19.  
  20. local chatTab = Window:MakeTab({
  21. Name = "Chat Stuff",
  22. Icon = "rbxassetid://4483345998",
  23. PremiumOnly = false
  24. })
  25.  
  26. chatTab:AddLabel(" CHAT BYPASS")
  27.  
  28. local method = nil
  29.  
  30. chatTab:AddDropdown({
  31. Name = "Method",
  32. Options = {"ěx́ǎḿṕĺě", "éxạmṕĺe", "ẹ̲х̲ạ̲ṃ̲р̲ḷ̲ẹ̲", "e>x>a>m>p>l>e", "￵example", "3></-\\/\\/\\p|_3"},
  33. Callback = function(val)
  34. method = val
  35. end
  36. })
  37.  
  38. function bypasstext(text, method)
  39. if method == 1 then
  40. local function addAccents(word)
  41. local accents = {
  42. a = "ǎ",
  43. b = "ḃ",
  44. c = "ć",
  45. d = "d́",
  46. e = "ě",
  47. f = "ḟ",
  48. g = "ġ",
  49. h = "ḣ",
  50. i = "í",
  51. j = "j́",
  52. k = "ḱ",
  53. l = "ĺ",
  54. m = "ḿ",
  55. n = "n̋",
  56. o = "ō",
  57. p = "ṕ",
  58. q = "q́",
  59. r = "ŕ",
  60. s = "ś",
  61. t = "t̋",
  62. u = "ū",
  63. v = "v̇",
  64. w = "ẃ",
  65. x = "x́",
  66. y = "ý",
  67. z = "ź",
  68. A = "Ǎ",
  69. B = "Ḃ",
  70. C = "Ć",
  71. D = "D́",
  72. E = "Ě",
  73. F = "Ḟ",
  74. G = "Ġ",
  75. H = "Ḣ",
  76. I = "Í",
  77. J = "J́",
  78. K = "Ḱ",
  79. L = "Ĺ",
  80. M = "Ḿ",
  81. N = "N̋",
  82. O = "Ō",
  83. P = "Ṕ",
  84. Q = "Q́",
  85. R = "Ŕ",
  86. S = "Ś",
  87. T = "T̋",
  88. U = "Ū",
  89. V = "V̇",
  90. W = "Ẃ",
  91. X = "X́",
  92. Y = "Ý",
  93. Z = "Ź"
  94. }
  95.  
  96. local bypassedWord = ""
  97. for i = 1, #word do
  98. local letter = word:sub(i, i)
  99. if accents[letter] then
  100. bypassedWord = bypassedWord .. accents[letter]
  101. else
  102. bypassedWord = bypassedWord .. letter
  103. end
  104. end
  105.  
  106. return bypassedWord
  107. end
  108.  
  109. local function bypassString(input)
  110. local words = {}
  111. for word in string.gmatch(input, "%S+") do
  112. table.insert(words, addAccents(word))
  113. end
  114. return table.concat(words, " ")
  115. end
  116.  
  117. return bypassString(text)
  118. elseif method == 2 then
  119. local function addAccents2(word)
  120. local accents2 = {
  121. a = "ạ",
  122. b = "ḃ",
  123. c = "c",
  124. d = "d́",
  125. e = "e",
  126. f = "ḟ",
  127. g = "ġ",
  128. h = "ḣ",
  129. i = "i",
  130. j = "j́",
  131. k = "ḳ",
  132. l = "ĺ",
  133. m = "m",
  134. n = "n̋",
  135. o = "o",
  136. p = "ṕ",
  137. q = "q́",
  138. r = "ŕ",
  139. s = "ṣ",
  140. t = "t",
  141. u = "ụ",
  142. v = "v̇",
  143. w = "ẃ",
  144. x = "x́",
  145. y = "y",
  146. z = "z",
  147. A = "Ạ",
  148. B = "Ḃ",
  149. C = "C",
  150. D = "D́",
  151. E = "E",
  152. F = "Ḟ",
  153. G = "Ġ",
  154. H = "Ḣ",
  155. I = "I",
  156. J = "J́",
  157. K = "Ḱ",
  158. L = "Ĺ",
  159. M = "M",
  160. N = "N",
  161. O = "O",
  162. P = "Ṕ",
  163. Q = "Q́",
  164. R = "Ŕ",
  165. S = "Ṣ",
  166. T = "T",
  167. U = "Ụ",
  168. V = "V̇",
  169. W = "Ẃ",
  170. X = "X́",
  171. Y = "Y",
  172. Z = "Z"
  173. }
  174.  
  175. local bypassedWord = ""
  176. for i = 1, #word do
  177. local letter = word:sub(i, i)
  178. if accents2[letter] then
  179. bypassedWord = bypassedWord .. accents2[letter]
  180. else
  181. bypassedWord = bypassedWord .. letter
  182. end
  183. end
  184.  
  185. return bypassedWord
  186. end
  187.  
  188. local function bypassString(input)
  189. local words = {}
  190. for word in string.gmatch(input, "%S+") do
  191. table.insert(words, addAccents2(word))
  192. end
  193. return table.concat(words, " ")
  194. end
  195.  
  196. return bypassString(text)
  197. elseif method == 3 then
  198. local function addAccents3(word)
  199. local accents3 = {
  200. a = "ạ̲",
  201. b = "ḅ̲",
  202. c = "с̲",
  203. d = "ḍ̲",
  204. e = "ẹ̲",
  205. f = "f̲",
  206. g = "ɡ̲",
  207. h = "ḥ̲",
  208. i = "ị̲",
  209. j = "ј̲",
  210. k = "ḳ̲",
  211. l = "ḷ̲",
  212. m = "ṃ̲",
  213. n = "ṇ̲",
  214. o = "ọ̲",
  215. p = "р̲",
  216. q = "q̲",
  217. r = "ṛ̲",
  218. s = "ṣ̲",
  219. t = "ṭ̲",
  220. u = "ụ̲",
  221. v = "ṿ̲",
  222. w = "ẉ̲",
  223. x = "х̲",
  224. y = "ỵ̲",
  225. z = "ẓ̲",
  226. A = "Ạ̲",
  227. B = "Ḅ̲",
  228. C = "С̲",
  229. D = "Ḍ̲",
  230. E = "Ẹ̲",
  231. F = "F̲",
  232. G = "Ɡ̲",
  233. H = "Ḥ̲",
  234. I = "Ị̲",
  235. J = "Ј̲",
  236. K = "Ḳ̲",
  237. L = "Ḷ̲",
  238. M = "Ṃ̲",
  239. N = "Ṇ̲",
  240. O = "Ọ̲",
  241. P = "Р̲",
  242. Q = "Q̲",
  243. R = "Ṛ̲",
  244. S = "Ṣ̲",
  245. T = "Ṭ̲",
  246. U = "Ụ̲",
  247. V = "Ṿ̲",
  248. W = "Ẉ̲",
  249. X = "Х̲",
  250. Y = "Ỵ̲",
  251. Z = "Ẓ̲"
  252. }
  253.  
  254. local bypassedWord = ""
  255. for i = 1, #word do
  256. local letter = word:sub(i, i)
  257. if accents3[letter] then
  258. bypassedWord = bypassedWord .. accents3[letter]
  259. else
  260. bypassedWord = bypassedWord .. letter
  261. end
  262. end
  263.  
  264. return bypassedWord
  265. end
  266.  
  267. local function bypassString(input)
  268. local words = {}
  269. for word in string.gmatch(input, "%S+") do
  270. table.insert(words, addAccents3(word))
  271. end
  272. return table.concat(words, " ")
  273. end
  274.  
  275. return bypassString(text)
  276. elseif method == 4 then
  277. local function modifyText(input)
  278. local modifiedText = ""
  279. for i = 1, #input do
  280. modifiedText = modifiedText .. string.sub(input, i, i) .. ">"
  281. end
  282.  
  283. return modifiedText
  284. end
  285.  
  286. return modifyText(text)
  287. elseif method == 5 then
  288. local function addAccents5(word)
  289. local accents5 = {
  290. a = "a",
  291. b = "b￵￵",
  292. c = "c￵￵",
  293. d = "d",
  294. e = "￵￵e",
  295. f = "￵￵󠀕f￵￵",
  296. g = "g",
  297. h = "h￵￵",
  298. i = "￵￵i",
  299. j = "￵￵j￵￵",
  300. k = "k",
  301. l = "l￵￵",
  302. m = "m",
  303. n = "n",
  304. o = "o￵￵",
  305. p = "p",
  306. q = "q￵￵",
  307. r = "￵￵r￵￵",
  308. s = "￵￵s",
  309. t = "￵￵t￵￵",
  310. u = "u",
  311. v = "v",
  312. w = "w",
  313. x = "x",
  314. y = "y",
  315. z = "￵￵z￵￵󠀕",
  316. A = "A￵￵󠀕",
  317. B = "B",
  318. C = "C",
  319. D = "￵￵D",
  320. E = "￵￵E￵￵󠀕",
  321. F = "F￵￵",
  322. G = "￵￵G",
  323. H = "H",
  324. I = "￵￵I",
  325. J = "￵￵J",
  326. K = "K",
  327. L = "￵￵L",
  328. M = "M￵￵",
  329. N = "N￵￵",
  330. O = "O",
  331. P = "P￵￵",
  332. Q = "Q",
  333. R = "￵￵R",
  334. S = "S",
  335. T = "T",
  336. U = "￵￵U",
  337. V = "V",
  338. W = "W￵￵",
  339. X = "￵￵X",
  340. Y = "￵￵Y",
  341. Z = "Z￵￵󠀕"
  342. }
  343.  
  344. local bypassedWord = ""
  345. for i = 1, #word do
  346. local letter = word:sub(i, i)
  347. if accents5[letter] then
  348. bypassedWord = bypassedWord .. accents5[letter]
  349. else
  350. bypassedWord = bypassedWord .. letter
  351. end
  352. end
  353.  
  354. return bypassedWord
  355. end
  356.  
  357. local function bypassString(input)
  358. local words = {}
  359. for word in string.gmatch(input, "%S+") do
  360. table.insert(words, addAccents5(word))
  361. end
  362. return table.concat(words, "")
  363. end
  364.  
  365. return bypassString(text)
  366. elseif method == 6 then
  367. local function addAccents6(word)
  368. local accents6 = {
  369. a = "/-\\",
  370. b = "L3",
  371. c = "C",
  372. d = "CL",
  373. e = "3",
  374. f = "F",
  375. g = "G",
  376. h = "|-|",
  377. i = "L",
  378. j = "J",
  379. k = "L<",
  380. l = "|_",
  381. m = "/\\/\\",
  382. n = "/\\/",
  383. o = "0",
  384. p = "P",
  385. q = "Q",
  386. r = "R",
  387. s = "$",
  388. t = "T",
  389. u = "|_|",
  390. v = "\\/",
  391. w = "\\/\\/",
  392. x = "><",
  393. y = "Y",
  394. z = "Z"
  395. }
  396.  
  397. local bypassedWord = ""
  398. for i = 1, #word do
  399. local letter = word:sub(i, i):lower()
  400. if accents6[letter] then
  401. bypassedWord = bypassedWord .. accents6[letter]
  402. else
  403. bypassedWord = bypassedWord .. letter
  404. end
  405. end
  406.  
  407. return bypassedWord
  408. end
  409.  
  410. local function bypassString(input)
  411. local words = {}
  412. for word in string.gmatch(input, "%S+") do
  413. table.insert(words, addAccents6(word))
  414. end
  415. return table.concat(words, " ")
  416. end
  417.  
  418. return bypassString(text)
  419. end
  420. end
  421.  
  422. chatTab:AddTextbox({
  423. Name = "Chat",
  424. TextDisappear = true,
  425. Callback = function(val)
  426. if val ~= "" then
  427. if method == "ěx́ǎḿṕĺě" then
  428. chat(bypasstext(val, 1))
  429. elseif method == "éxạmṕĺe" then
  430. chat(bypasstext(val, 2))
  431. elseif method == "ẹ̲х̲ạ̲ṃ̲р̲ḷ̲ẹ̲" then
  432. chat(bypasstext(val, 3))
  433. elseif method == "e>x>a>m>p>l>e" then
  434. chat(bypasstext(val, 4))
  435. elseif method == "￵example" then
  436. chat(bypasstext(val, 5))
  437. elseif method == "3></-\\/\\/\\p|_3" then
  438. chat(bypasstext(val, 6))
  439. else
  440. OrionLib:MakeNotification({
  441. Name = "Ops.",
  442. Content = "Looks like you didn't select a method!",
  443. Image = "rbxassetid://4483345998",
  444. Time = 5
  445. })
  446. end
  447. else
  448. OrionLib:MakeNotification({
  449. Name = "Ops.",
  450. Content = "Looks like you didn't enter any text!",
  451. Image = "rbxassetid://4483345998",
  452. Time = 5
  453. })
  454. end
  455. end
  456. })
  457.  
  458. local autobypass = false
  459. local textBox = game:GetService("CoreGui").ExperienceChat.appLayout.chatInputBar.Background.Container.TextContainer.TextBoxContainer.TextBox
  460.  
  461. chatTab:AddToggle({
  462. Name = "Auto Bypass",
  463. Default = false,
  464. Callback = function(val)
  465. autobypass = val
  466.  
  467. if val == true then
  468. OrionLib:MakeNotification({
  469. Name = "Auto Bypass",
  470. Content = "Auto bypass has been enabled!",
  471. Image = "rbxassetid://4483345998",
  472. Time = 5
  473. })
  474. else
  475. OrionLib:MakeNotification({
  476. Name = "Auto Bypass",
  477. Content = "Auto bypass has been disabled!",
  478. Image = "rbxassetid://4483345998",
  479. Time = 5
  480. })
  481. end
  482.  
  483. textBox.FocusLost:Connect(function(enter)
  484. if enter and autobypass then
  485. if textBox.Text ~= "" then
  486. if method == "ěx́ǎḿṕĺě" then
  487. chat(bypasstext(textBox.Text, 1))
  488. textBox.Text = ""
  489. elseif method == "éxạmṕĺe" then
  490. chat(bypasstext(textBox.Text, 2))
  491. textBox.Text = ""
  492. elseif method == "ẹ̲х̲ạ̲ṃ̲р̲ḷ̲ẹ̲" then
  493. chat(bypasstext(textBox.Text, 3))
  494. textBox.Text = ""
  495. elseif method == "e>x>a>m>p>l>e" then
  496. chat(bypasstext(textBox.Text, 4))
  497. textBox.Text = ""
  498. elseif method == "￵example" then
  499. chat(bypasstext(textBox.Text, 5))
  500. textBox.Text = ""
  501. elseif method == "3></-\\/\\/\\p|_3" then
  502. chat(bypasstext(textBox.Text, 6))
  503. textBox.Text = ""
  504. else
  505. OrionLib:MakeNotification({
  506. Name = "Ops.",
  507. Content = "Looks like you didn't select a method!",
  508. Image = "rbxassetid://4483345998",
  509. Time = 5
  510. })
  511. end
  512. end
  513. end
  514. end)
  515. end
  516. })
  517.  
  518. chatTab:AddLabel(" CHAT LOG")
  519.  
  520. local logging = false
  521. local webhook = ""
  522.  
  523. function sendToWebhook(msg, username)
  524.  
  525. local data = {
  526. content = msg,
  527. username = username
  528. }
  529.  
  530. local requestData = {
  531. Url = webhook,
  532. Method = "POST",
  533. Headers = {
  534. ["Content-Type"] = "application/json",
  535. },
  536. Body = game:GetService("HttpService"):JSONEncode(data)
  537. }
  538.  
  539. request(requestData)
  540.  
  541. end
  542.  
  543. chatTab:AddTextbox({
  544. Name = "Webhook",
  545. TextDisappear = false,
  546. Callback = function(val)
  547. webhook = val
  548. end
  549. })
  550.  
  551. chatTab:AddToggle({
  552. Name = "Log",
  553. Default = false,
  554. Callback = function(val)
  555. if webhook == "" then
  556. OrionLib:MakeNotification({
  557. Name = "Ops.",
  558. Content = "Looks like you didn't enter any webhook url!",
  559. Image = "rbxassetid://4483345998",
  560. Time = 5
  561. })
  562. return
  563. else
  564. logging = val
  565.  
  566. if val == true then
  567. OrionLib:MakeNotification({
  568. Name = "Started logging",
  569. Content = "Started logging messages at the given webhook!",
  570. Image = "rbxassetid://4483345998",
  571. Time = 5
  572. })
  573. else
  574. OrionLib:MakeNotification({
  575. Name = "Stopped logging",
  576. Content = "Stopped logging messages at the given webhook!",
  577. Image = "rbxassetid://4483345998",
  578. Time = 5
  579. })
  580. end
  581. end
  582. end
  583. })
  584.  
  585. chatTab:AddLabel(" CHAT SPAM")
  586.  
  587. local spamMessage = ""
  588. local spamInterval = 1
  589. local spaming = false
  590.  
  591. chatTab:AddTextbox({
  592. Name = "Message",
  593. TextDisappear = false,
  594. Callback = function(val)
  595. spamMessage = val
  596. end
  597. })
  598.  
  599. chatTab:AddSlider({
  600. Name = "Interval",
  601. Min = spamInterval,
  602. Max = 100,
  603. Default = spamInterval,
  604. Increasmemt = 1,
  605. ValueName = "seconds",
  606. Callback = function(val)
  607. spamInterval = val
  608. end
  609. })
  610.  
  611. chatTab:AddToggle({
  612. Name = "Spam",
  613. Default = false,
  614. Callback = function(val)
  615. if spamMessage == "" then
  616. OrionLib:MakeNotification({
  617. Name = "Ops.",
  618. Content = "Looks like you didn't enter any text!",
  619. Image = "rbxassetid://4483345998",
  620. Time = 5
  621. })
  622. else
  623. spaming = val
  624.  
  625. if spaming then
  626. repeat wait(spamInterval)
  627. chat(spamMessage)
  628. until spaming == false
  629. end
  630. end
  631. end
  632. })
  633.  
  634. chatTab:AddLabel(" OTHER")
  635.  
  636. chatTab:AddButton({
  637. Name = "Tall Message",
  638. Callback = function()
  639. chat("".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. " ".. "\u{000D}" .. "")
  640. end
  641. })
  642.  
  643. chatTab:AddButton({
  644. Name = "Fix Filter",
  645. Callback = function()
  646. chat("abcdefg()!")
  647. end
  648. })
  649.  
  650. local botTab = Window:MakeTab({
  651. Name = "Chatbot",
  652. Icon = "rbxassetid://4483345998",
  653. PremiumOnly = false
  654. })
  655.  
  656. local serversTab = Window:MakeTab({
  657. Name = "Servers",
  658. Icon = "rbxassetid://4483345998",
  659. PremiumOnly = false
  660. })
  661.  
  662. function getServers()
  663. local request = request({
  664. Url = "https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Desc&limit=100",
  665. Method = "GET",
  666. })
  667.  
  668. if request.StatusCode == 200 then
  669. local serverData = game:GetService("HttpService"):JSONDecode(request.Body)
  670. local serverList = {}
  671.  
  672. for _, server in pairs(serverData.data) do
  673. local serverInfo = {
  674. serverId = server.id or "N/A",
  675. players = server.playing or 0,
  676. maxPlayers = server.maxPlayers or 0,
  677. ping = server.ping or "N/A",
  678. }
  679.  
  680. table.insert(serverList, serverInfo)
  681. end
  682.  
  683. return serverList
  684. else
  685. return nil
  686. end
  687. end
  688.  
  689. function refreshServers()
  690.  
  691. local servers = getServers()
  692. if servers then
  693. for _, server in pairs(servers) do
  694. serversTab:AddButton({
  695. Name = "Players: " .. server.players .. "/" .. server.maxPlayers .. "\nPing: " .. server.ping,
  696. Callback = function()
  697. game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, server.serverId, game.Players.LocalPlayer)
  698. end
  699. })
  700. end
  701. end
  702.  
  703. serversTab:AddButton({
  704. Name = "Refresh",
  705. Callback = function()
  706. refreshServers()
  707. end
  708. })
  709. end
  710.  
  711. serversTab:AddButton({
  712. Name = "Load Servers",
  713. Callback = function()
  714. refreshServers()
  715. end
  716. })
  717.  
  718. local othersTab = Window:MakeTab({
  719. Name = "Others",
  720. Icon = "rbxassetid://4483345998",
  721. PremiumOnly = false
  722. })
  723.  
  724. othersTab:AddButton({
  725. Name = "Rejoin",
  726. Callback = function()
  727. game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, game.JobId, game.Players.LocalPlayer)
  728. end
  729. })
  730.  
  731. othersTab:AddButton({
  732. Name = "Destroy UI",
  733. Callback = function()
  734. OrionLib:Destroy()
  735. end
  736. })
  737.  
  738. local apiKey = ""
  739. local isChatbotEnabled = false
  740. local responseDistance = 5
  741. local botTemperature = 1
  742. local botModel = "llama3-8b-8192"
  743. local personality = "Default"
  744. local blacklist = {}
  745.  
  746. function isBlacklisted(name)
  747. for _, blacklisted in pairs(blacklist) do
  748. if name == blacklisted then
  749. return true
  750. end
  751. end
  752.  
  753. return false
  754. end
  755.  
  756. function askChatbot(msg, plrname)
  757. local requestData = {
  758. model = botModel,
  759. temperature = botTemperature,
  760. messages = {
  761. {
  762. role = "system",
  763. content = "answer with short response(200 characters max) while following roblox chat filter. your personality: " .. personality
  764. },
  765. {
  766. role = "user",
  767. content = "My Name Is " .. plrname
  768. },
  769. {
  770. role = "user",
  771. content = msg
  772. }
  773. }
  774. }
  775.  
  776. local response = request({
  777. Url = "https://api.groq.com/openai/v1/chat/completions",
  778. Method = "POST",
  779. Headers = {
  780. ["Content-Type"] = "application/json",
  781. ["Authorization"] = "Bearer " .. apiKey
  782. },
  783. Body = game:GetService("HttpService"):JSONEncode(requestData)
  784. })
  785.  
  786. if #game:GetService("HttpService"):JSONDecode(response.Body).choices[1].message.content >= 200 then
  787. print("Response has reached the character limit!")
  788. else
  789. return game:GetService("HttpService"):JSONDecode(response.Body).choices[1].message.content
  790. end
  791. end
  792.  
  793. botTab:AddTextbox({
  794. Name = "Groq api key",
  795. TextDisappear = false,
  796. Callback = function(val)
  797. apiKey = val
  798. end
  799. })
  800.  
  801. botTab:AddSlider({
  802. Name = "Response Distance",
  803. Min = 0,
  804. Max = 100,
  805. Default = 5,
  806. Increasmemt = 1,
  807. ValueName = "studs",
  808. Callback = function(val)
  809. responseDistance = val
  810. end
  811. })
  812.  
  813. botTab:AddDropdown({
  814. Name = "Model",
  815. Default = botModel,
  816. Options = {"gemma2-9b-it", "gemma-7b-it", "llama3-groq-70b-8192-tool-use-preview", "llama3-groq-8b-8192-tool-use-preview", "llama-3.1-70b-versatile", "llama-3.1-8b-instant", "llama-3.2-11b-vision-preview", "llama-3.2-90b-vision-preview", "llama3-70b-8192", "llama3-8b-8192"},
  817. Callback = function(val)
  818. botModel = val
  819. end
  820. })
  821.  
  822. botTab:AddDropdown({
  823. Name = "Personality",
  824. Default = personality,
  825. Options = {"Default", "Aggressive", "Happy", "Criminal", "Indian Scammer", "Nerd", "Sarcastic", "Stupid"},
  826. Callback = function(val)
  827. personality = val
  828. end
  829. })
  830.  
  831. botTab:AddTextbox({
  832. Name = "Custom Personality",
  833. TextDisappear = false,
  834. Callback = function(val)
  835. personality = val
  836. end
  837. })
  838.  
  839. botTab:AddTextbox({
  840. Name = "Prompt",
  841. TextDisappear = true,
  842. Callback = function(val)
  843. OrionLib:MakeNotification({
  844. Name = "Response From ChatBot",
  845. Content = askChatbot(val, game.Players.LocalPlayer.Name),
  846. Image = "rbxassetid://4483345998",
  847. Time = 15
  848. })
  849. end
  850. })
  851.  
  852. botTab:AddSlider({
  853. Name = "Temperature",
  854. Min = 0,
  855. Max = 2,
  856. Default = botTemperature,
  857. Increment = 0.01,
  858. Callback = function(val)
  859. botTemperature = val
  860. end
  861. })
  862.  
  863. botTab:AddTextbox({
  864. Name = "Blacklist",
  865. TextDisappear = true,
  866. Callback = function(val)
  867. if game.Players:FindFirstChild(val) then
  868. table.insert(blacklist, val)
  869.  
  870. OrionLib:MakeNotification({
  871. Name = "Blacklist",
  872. Content = "Player has been blacklisted!",
  873. Image = "rbxassetid://4483345998",
  874. Time = 5
  875. })
  876. end
  877. end
  878. })
  879.  
  880. botTab:AddTextbox({
  881. Name = "Whitelist",
  882. TextDisappear = true,
  883. Callback = function(val)
  884. for i, name in pairs(blacklist) do
  885. if name == val then
  886. table.remove(blacklist, i)
  887.  
  888. OrionLib:MakeNotification({
  889. Name = "Whitelist",
  890. Content = "Player has been whitelisted!",
  891. Image = "rbxassetid://4483345998",
  892. Time = 5
  893. })
  894. end
  895. end
  896. end
  897. })
  898.  
  899. botTab:AddToggle({
  900. Name = "Enabled",
  901. Default = false,
  902. Callback = function(val)
  903. isChatbotEnabled = val
  904.  
  905. if val == true then
  906. OrionLib:MakeNotification({
  907. Name = "Ai ChatBot",
  908. Content = "ChatBot has been enabled!",
  909. Image = "rbxassetid://4483345998",
  910. Time = 5
  911. })
  912. elseif val == false then
  913. OrionLib:MakeNotification({
  914. Name = "Ai ChatBot",
  915. Content = "ChatBot has been disabled!",
  916. Image = "rbxassetid://4483345998",
  917. Time = 5
  918. })
  919. end
  920. end
  921. })
  922.  
  923. OrionLib:Init()
  924.  
  925. for _, player in pairs(game.Players:GetPlayers()) do
  926. player.Chatted:Connect(function(message)
  927. local distance = (game.Players.LocalPlayer.Character.HumanoidRootPart.Position - player.Character.HumanoidRootPart.Position).Magnitude
  928. if isChatbotEnabled and distance <= responseDistance and player.Name ~= game.Players.LocalPlayer.Name and not isBlacklisted(player.Name) then
  929. chat(askChatbot(message, player.Name))
  930. end
  931.  
  932. if logging then
  933. sendToWebhook("```" .. message .. "```", player.Name)
  934. end
  935. end)
  936. end
  937.  
  938. game.Players.PlayerAdded:Connect(function(player)
  939. player.Chatted:Connect(function(message)
  940. local distance = (game.Players.LocalPlayer.Character.HumanoidRootPart.Position - player.Character.HumanoidRootPart.Position).Magnitude
  941. if isChatbotEnabled and distance <= responseDistance and player.Name ~= game.Players.LocalPlayer.Name and not isBlacklisted(player.Name) then
  942. chat(askChatbot(message, player.Name))
  943. end
  944.  
  945. if logging then
  946. sendToWebhook("```" .. message .. "```", player.Name)
  947. end
  948. end)
  949. end)
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement