parent
8cd7267713
commit
e24a3dc45e
@ -0,0 +1,60 @@
|
|||||||
|
import telebot
|
||||||
|
|
||||||
|
from telebot import types,util
|
||||||
|
|
||||||
|
###### IMPORT TOKEN ######
|
||||||
|
|
||||||
|
import json
|
||||||
|
|
||||||
|
with open('db.json', 'r') as openfile:
|
||||||
|
db = json.load(openfile)
|
||||||
|
bot = telebot.TeleBot(db['token'])
|
||||||
|
|
||||||
|
############# FUNCTIONS ##
|
||||||
|
|
||||||
|
def get_admins(message):
|
||||||
|
try:
|
||||||
|
if bot.get_chat(message.chat.id).type == "private":
|
||||||
|
return []
|
||||||
|
else:
|
||||||
|
admins = bot.get_chat_administrators(chat_id=message.chat.id)
|
||||||
|
true_admins = []
|
||||||
|
for i in admins:
|
||||||
|
if i.status == "creator" or i.can_restrict_members == True:
|
||||||
|
true_admins.append(i.user.id)
|
||||||
|
return true_admins
|
||||||
|
except:
|
||||||
|
catch_error(message)
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
# Fix for anon admins, all anon (not premium) users == admins
|
||||||
|
def is_anon(message):
|
||||||
|
if message.from_user.username == "Channel_Bot" and message.from_user.is_premium == None:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
########CATCH LINKS######
|
||||||
|
|
||||||
|
def catch(message):
|
||||||
|
try:
|
||||||
|
if message.from_user.id not in get_admins(message) and not is_anon(message):
|
||||||
|
if 'https://t.me/' in message.text or ( hasattr(message, 'entities') and hasattr(message.entities[0], 'url') and message.entities[0].url != None ):
|
||||||
|
bot.delete_message(message.chat.id, message.id)
|
||||||
|
bot.send_message(message.chat.id, f"Пользователь {telebot.util.user_link(message.from_user)} пытался отправить ссылку на группу/чат.", parse_mode='HTML')
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@bot.message_handler()
|
||||||
|
def catch_all_messages(message):
|
||||||
|
catch(message)
|
||||||
|
|
||||||
|
@bot.edited_message_handler()
|
||||||
|
def catch_edited_messages(message):
|
||||||
|
catch(message)
|
||||||
|
|
||||||
|
|
||||||
|
bot.polling()
|
Loading…
Reference in new issue