Advertisement
Veryskillednoob

Chat Bypasser V4.8

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