Удалить сообщение о присоединении в группе 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 для любого специального сообщения о присоединенном или оставленном сообщении.

Другие вопросы по тегам