конечно) для бана в чатах
Code:
@dp.message_handler(func=lambda message: message.text.startswith('!report'))
async def report(message: types.Message):
msg_id = message.reply_to_message.message_id
user_id = message.reply_to_message.from_user.id
chat_id = message.reply_to_message.chat.id
chat_name = message.reply_to_message.chat.full_name
await bot.send_message(message.chat.id, "Жалоба отправлена @arsenibyk")
await bot.send_message(myid, f'В чате *{chat_name}* беспорядок👇')
await bot.forward_message(myid, message.chat.id, msg_id)
keyboard = types.InlineKeyboardMarkup()
ban_btn = types.InlineKeyboardButton(text='Бан', callback_data='ban')
rm_btn = types.InlineKeyboardButton(text="Удалить сообщение", callback_data='rm')
ignor_btn = types.InlineKeyboardButton(text="Отменить", callback_data='cancel')
keyboard.add(ban_btn)
keyboard.add(rm_btn)
keyboard.add(ignor_btn)
await bot.send_message(myid, "Хотите его забанить?", reply_markup=keyboard)
@dp.callback_query_handler(func=lambda call: True)
async def report_call(call):
msg_id = message.reply_to_message.message_id
user_id = message.reply_to_message.from_user.id
chat_id = message.reply_to_message.chat.id
chat_name = message.reply_to_message.chat.full_name
if call.message:
if call.data == "ban":
await bot.kick_chat_member(chat_id, user_id)
await bot.answer_callback_query(callback_query_id=call.id, show_alert=True, text="Пользаватель заблокирован!")
elif call.message:
if call.data == "rm":
await bot.delete_message(chat_id, message_id)
await bot.answer_callback_query(callback_query_id=call.id, show_alert=True, text="Сообщение удаленно!")
elif call.message:
if call.data == "cancel":
await bot.edit_message_text(chat_id=message.chat.id, message_id=message.message_id, text="Отменено")
await bot.answer_callback_query(callback_query_id=call.id, show_alert=True, text="Жалоба была отменена!")
Ибо call.data в отдельной функции писатб надо
бл* кинь фоткой, непонятно
!report
!ro подобную кашу выкидывай на pastebin/gist github
Обсуждают сегодня