Advertisement
Guest User

Untitled

a guest
Apr 28th, 2015
606
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.92 KB | None | 0 0
  1. function FilterMessage(Message,filter)
  2.     --filter is the filter method
  3.     --1 -> Deletes bad word
  4.     --2 -> Stars out the bad word *****
  5.     --3 -> Replace bad word with a good word
  6.     badwords = {{97,110,97,108},{97,110,117,115},{97,114,115,101},{97,115,115},{98,97,108,108,115,97,99,107},{98,97,108,108,115},{98,97,115,116,97,114,100},{98,105,116,99,104},{98,105,97,116,99,104},{98,108,111,111,100,121},{98,108,111,119,106,111,98},{98,108,111,119,32,106,111,98},{98,111,108,108,111,99,107},{98,111,108,108,111,107},{98,111,110,101,114},{98,111,111,98},{98,117,103,103,101,114},{98,117,109},{98,117,116,116},{98,117,116,116,112,108,117,103},{99,108,105,116,111,114,105,115},{99,111,99,107},{99,111,111,110},{99,114,97,112},{99,117,110,116},{100,97,109,110},{100,105,99,107},{100,105,108,100,111},{100,121,107,101},{102,97,103},{102,101,99,107},{102,101,108,108,97,116,101},{102,101,108,108,97,116,105,111},{102,101,108,99,104,105,110,103},{102,117,99,107},{102,32,117,32,99,32,107},{102,117,100,103,101,112,97,99,107,101,114},{102,117,100,103,101,32,112,97,99,107,101,114},{102,108,97,110,103,101},{71,111,100,100,97,109,110},{71,111,100,32,100,97,109,110},{104,101,108,108},{104,111,109,111},{106,101,114,107},{106,105,122,122},{107,110,111,98,101,110,100},{107,110,111,98,32,101,110,100},{108,97,98,105,97},{108,109,97,111},{108,109,102,97,111},{109,117,102,102},{110,105,103,103,101,114},{110,105,103,103,97},{111,109,103},{112,101,110,105,115},{112,105,115,115},{112,111,111,112},{112,114,105,99,107},{112,117,98,101},{112,117,115,115,121},{113,117,101,101,114},{115,99,114,111,116,117,109},{115,101,120},{115,104,105,116},{115,32,104,105,116},{115,104,49,116},{115,108,117,116},{115,109,101,103,109,97},{115,112,117,110,107},{116,105,116},{116,111,115,115,101,114},{116,117,114,100},{116,119,97,116},{118,97,103,105,110,97},{119,97,110,107},{119,104,111,114,101},{119,116,102}}
  7.     goodwords = {"kitten","puppy","snacks","unicorn","love","happiness","happy","neighbor"}
  8.     for word in Message:gmatch("%S+") do
  9.         original_word = word
  10.         word = string.lower(word:gsub("%p",""))
  11.         word_table = {}
  12.         for letter in word:gmatch("%l") do
  13.             word_table[#word_table+1] = string.byte(letter, 1)
  14.         end
  15.         for key, value in pairs(badwords) do
  16.             --possibly a better way than iterate through badwords table each time
  17.             if #value <= #word_table then
  18.                 same = true
  19.                 for index, letter in pairs(value) do
  20.                     if word_table[index] ~= letter then
  21.                         same = false
  22.                         break
  23.                     end
  24.                 end
  25.                 if same then
  26.                     if filter == 1 or filter == nil then
  27.                         Message = Message:gsub(original_word,"")
  28.                     elseif filter == 2 then
  29.                         word_filtered = ""
  30.                         for i=1,original_word:len() do
  31.                             word_filtered = word_filtered.."*"
  32.                         end
  33.                         Message = Message:gsub(original_word,word_filtered)
  34.                     elseif filter == 3 then
  35.                         Message = Message:gsub(original_word,goodwords[math.random(1,#goodwords)])
  36.                     end
  37.                 end
  38.             end
  39.         end
  40.     end
  41.     return Message
  42. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement