Skip to content

Instantly share code, notes, and snippets.

@repen
Forked from AmirSbss/antispam.py
Created August 18, 2020 20:49
Show Gist options
  • Save repen/c6f8301e52389cb5f290fd872b0c38a4 to your computer and use it in GitHub Desktop.
Save repen/c6f8301e52389cb5f290fd872b0c38a4 to your computer and use it in GitHub Desktop.
Cached anti spam system for telegram bots written in python
import time as tm
spams = {}
msgs = 4 # Messages in
max = 5 # Seconds
ban = 300 # Seconds
def is_spam(user_id):
try:
usr = spams[user_id]
usr["messages"] += 1
except:
spams[user_id] = {"next_time": int(tm.time()) + max, "messages": 1, "banned": 0}
usr = spams[user_id]
if usr["banned"] >= int(tm.time()):
return True
else:
if usr["next_time"] >= int(tm.time()):
if usr["messages"] >= msgs:
spams[user_id]["banned"] = tm.time() + ban
# text = """You're banned for {} minutes""".format(ban/60)
# bot.send_message(user_id, text)
# User is banned! alert him...
return True
else:
spams[user_id]["messages"] = 1
spams[user_id]["next_time"] = int(tm.time()) + max
return False
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment