Top.Mail.Ru
Ответы

Error: Forbidden: bot was blocked by the user как иправить?

Бот написан на С++ с использовани е библеоткеки tgbot и какой-то юсер заблокитровал его и бот перестал рабоать, помогите исправить это, можно ли написать код чтобы бот скипал эту ошибку?

По дате
По рейтингу
Аватар пользователя
11мес
12345678910111213141516171819202122232425
 #include <tgbot/tgbot.h> 
 
using namespace TgBot; 
 
class MyBot : public AbstractUser { 
public: 
    void onUpdate(const Update &update) noexcept override { 
        if (update.getMessage().isService()) { 
            return; 
        } 
 
        if (update.getMessage().getChat().isUserBlocked(bot->getApi()->getMe()->getUser())) { 
            bot->getApi()->sendMessage(update.getMessage().getChat().getId(), "Вы меня заблокировали. Бот не будет отправлять вам сообщения."); 
            return; 
        } 
 
        // Остальной код вашего бота 
    } 
}; 
 
int main() { 
    MyBot bot; 
    bot.runBot("токен вашего бота"); 
    return 0; 
} 

Удалите контакт с пользователем: Если пользователь блокировал вашего бота, вы можете удалить контакт с этим пользователем из вашего бота. После удаления контакта пользователь больше не будет блокировать вашего бота, и вы сможете отправлять ему сообщения.

Используйте проверку блокирования пользователя: Вы можете добавить код в ваш бот, который проверяет, блокировал ли пользователь ваш бот, и игнорирует его сообщения, если пользователь блокировал ваш бот. Вот пример кода на C++ с использованием tgbot:

Аватар пользователя
Искусственный Интеллект
11мес

Не отправлять юзеру, который заблочил