Jump to content

Spam System Python


Recommended Posts

M2 Download Center

This is the hidden content, please
( Internal )

Hello guys,

A few months ago i made a spam system in python, it was a really shitty one , so yesterday i decided to make a better one... I know it is not hard to make one, and if its made in c++ is better, but for the people who cant make source modifications and don?t know python here is the system:
 
def __SendChatPacket(self, text, type):
# if text[0] == '/':
# if ENABLE_CHAT_COMMAND or constInfo.CONSOLE_ENABLE:
# pass
# else:
# return
prevtext = self.GetLastSentenceText()
if net.IsChatInsultIn(text):
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHAT_INSULT_STRING)


#Config
WAITINGTIMEBETWEENMESSAGE = 1 #in seconds
#Writing Fast System START
if app.GetTime() < self.lasttime + WAITINGTIMEBETWEENMESSAGE:
chat.AppendChat(1, "[WARNING]WOW man calm down your writing too fast!")
return
#Writing Fast System END


#Spam system START
#Config
WAITINGTIME = 60 #in seconds
MAXSPAMCOUNT = 5
#
if self.count == MAXSPAMCOUNT+1:
if app.GetTime() < self.penaltytime:
chat.AppendChat(1, "[PENALTY]Muted 1 minute, time remaining: " + str(int(self.penaltytime - app.GetTime())) + " seconds")
return
else:
self.count = 0


elif self.count == MAXSPAMCOUNT:
chat.AppendChat(1, "[PENALTY]Muted 1 minute")
self.count = MAXSPAMCOUNT+1
self.penaltytime = app.GetTime()+WAITINGTIME
return


if len(self.lastSentenceStack) > 1:
if text == prevtext:
self.count = self.count+1
chat.AppendChat(1, "[WARNING]You are spamming!If you persist you will have a penalty. (" + str(self.count) + "/5)")
elif str(self.GetLastSentenceText()) != text:
self.count = 0


#Spam system END


net.SendChatPacket(text, type)
self.lasttime = app.GetTime()


def GetLastSentenceText(self):
lastSentence = self.lastSentenceStack[len(self.lastSentenceStack)-2]
return lastSentence 
 
I made it to be simple to be costumised so you guys want to change the penalty time or the spam count only need to change this:
 
WAITINGTIME -> The spam time penalty
MAXSPAMCOUNT -> The number of times players can spam
 
I also made a simple code so the players need to wait between messages.
 
WAITINGTIMEBETWEENMESSAGE -> The waiting time between messages
 
#Edit:
Also add this in __init__ function:
self.count = 0
self.penaltytime = 0
self.lasttime = 0
 
I hope it was helpfull,
Kind Regards,
Frozen
 
Credits:
- Daan(i dont know how he is called in the forum) - gave me the idea of the waiting time between messages
  • Love 1
  • Love 2
Link to comment
Share on other sites

  • Premium

That's interesting, but what if your client gets unpacked? This system could be disabled easy. And don't tell me things like "it won't be unpacked". Clients are unpacked easy.

You could try to do this system in C++ for the source. You could add a real chat block.

And one more thing: if you write too fast the server will automatically disconnect you.

Link to comment
Share on other sites

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.