UG
Size: a a a
UG
V
UG
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.types.message import ContentType
from aiogram.utils import executor
token = "TOKEN"
bot_id = token.split(':')[0]
stickers_list = []
stickerpacks_list = []
bot = Bot(token=token)
dp = Dispatcher(bot)
def load_files():
with open("stickers", 'r') as file:
stickers_list = file.read().split('\n')
with open("stickerpacks", 'r') as file:
stickerpacks_list = file.read().split('\n')
def save_files():
with open("stickers", 'w') as file:
file.write('\n'.join(stickers_list))
with open("stickerpacks", 'w') as file:
file.write('\n'.join(stickerpacks_list))
load_files()
@dp.message_handler(commands=['stban'])
async def ban_sticker(message: types.Message):
member = await message.chat.get_member(message.from_user.id)
if member.status == "creator" or (member.status == "administrator" and member.can_delete_messages):
msg = message.reply_to_message
if msg is not None:
sticker = msg.sticker
if sticker is None:
await message.reply("Ответьте на стикер командой")
return
sticker_id = sticker.file_unique_id
stickers_list.append(sticker_id)
await message.reply("Стикер забанен")
save_files()
return
await message.reply("Ответьте на стикер командой")
else:
await message.reply("Только для администраторов.")
@dp.message_handler(commands=['spban'])
async def ban_pack(message: types.Message):
member = await message.chat.get_member(message.from_user.id)
if member.status == "creator" or (member.status == "administrator" and member.can_delete_messages):
msg = message.reply_to_message
if msg is not None:
sticker = msg.sticker
if sticker is None:
await message.reply("Ответьте на стикер командой")
return
pack_id = sticker.set_name
stickerpacks_list.append(pack_id)
await message.reply("Стикерпак забанен")
save_files()
return
await message.reply("Ответьте на стикер командой")
else:
await message.reply("Только для администраторов.")
@dp.message_handler(commands=['sreload'])
async def reload(message: types.Message):
member = await message.chat.get_member(message.from_user.id)
if member.status == "creator" or (member.status == "administrator" and member.can_delete_messages):
load_files()
@dp.message_handler(content_types=ContentType.STICKER)
async def echo_message(message: types.Message):
me = await message.chat.get_member(bot_id)
if not (me.status == "administrator" and me.can_delete_messages):
return
sticker = message.sticker
sticker_id = sticker.file_unique_id
pack_id = sticker.set_name
if sticker_id in stickers_list or pack_id in stickerpacks_list:
await message.delete()
executor.start_polling(dp)
UG
UG
UG
V
UG
V
V
UG
UG
V
UG
UG
A
S
S