Удалить сообщение о присоединении в группе Telegram с помощью телебота
Я использовал этот код для удаления сообщений пользователя о присоединении / оставлении сообщений из моей группы. Он работал правильно, но единственное сообщение, которое нельзя удалить, это «пользователь присоединился к группе по ссылке-приглашению». Как я могу удалить сообщение о присоединении людей, которые входят через ссылка на сайт?
import telebot
TOKEN = "5299828032:AAH9J-Z92tHI3GY_6mJlsyMlwIx-ILMKf5I"
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(content_types=['new_chat_members'])
def delete_join_message(m):
# If bot is not admin, then it will not be able to delete message.
try:
bot.delete_message(m.chat.id,m.message_id)
except:
if m.new_chat_member.id != bot.get_me().id:
bot.send_message(m.chat.id,"Please make me an admin in order for me to remove the join and leave messages on this group!")
else:
bot.send_message(m.chat.id,"Hi! I am your trusty GroupSilencer Bot! Thanks for adding me! To use me, make me an admin and I will be able to delete all the pesky notification when a member joins or leaves the group!")
@bot.message_handler(content_types=['left_chat_member'])
def delete_leave_message(m):
# If bot is the one that is being removed, it will not be able to delete the leave message.
if m.left_chat_member.id != bot.get_me().id:
try:
bot.delete_message(m.chat.id,m.message_id)
except:
bot.send_message(m.chat.id,"Please make me an admin in order for me to remove the join and leave messages on this group!")
bot.infinity_polling()
1 ответ
from telegram.ext import Updater, CallbackContext
from telegram import Update
from telegram.ext import MessageHandler, Filters
API_KEY = API_KEY
def onjoin(update: Update, context: CallbackContext):
context.bot.delete_message(chat_id=update.message.chat_id,message_id=update.message.message_id)
def main():
updater = Updater(API_KEY, use_context=True)
updater.start_polling()
dp = updater.dispatcher
dp.add_handler(MessageHandler(Filters.status_update.new_chat_members,onjoin))
dp.add_error_handler(MessageHandler(Filters.status_update.left_chat_member,onjoin))
main()
Вы можете использовать этот скрипт из python-telegram-bot для любого специального сообщения о присоединенном или оставленном сообщении.