Реализация собственного обработчика ошибок для Telegram бота
Внимание! Пакеты python-telegram-bot версии 13.x будут придерживаться многопоточной парадигмы программирования (*на данный момент актуальна версия 13.15). Пакеты версий 20.x и новее предоставляют чистый асинхронный Python интерфейс для Telegram Bot API. Дополнительно смотрите основные изменения в пакете python-telegram-bot версии 20.x.
В python-telegram-bot все ошибки, связанные с Telegram, инкапсулируются в класс исключения TelegramError и его подклассы, расположенные в модуле telegram.error .
Любая ошибка, включая TelegramError , которая возникает в одном из обработчиков сообщений или при вызове Updater.get_updates() , перенаправляется всем зарегистрированным обработчикам ошибок, чтобы можно было на них отреагировать.
Что бы зарегистрировать обработчик ошибок, необходимо вызвать Dispatcher.add_error_handler(callback) , где обратный вызов callback — это функция, которая принимает обновление update и контекст context . Объект update будет обновлением, вызвавшим ошибку (или None , если ошибка не была вызвана update , например, для Jobs ), а context.error — возникшей ошибкой.
Чат-бот в Telegram для школы английского языка с начислением баллов пользователям
Пример: пытаемся отправить сообщение, но пользователь заблокировал бота. Будет вызвано исключение Unauthorized , подкласса TelegramError , которое будет доставлено обработчику ошибок. В обработчике ошибок можно удалить этот контакт из списка контактов бота.
Примечание. Можно обрабатывать исключения по мере их возникновения. Обработчику ошибок python-telegram-bot перенаправляются только неперехваченные исключения.
Пример собственного обработчика ошибок.
Очень простой пример того, как можно реализовать собственный обработчик ошибок.
Хороший обработчик ошибок.
Следующий фрагмент кода уведомляет пользователя, когда происходит ошибка, и уведомляет разработчиков об ошибке, включая трассировку и место ее возникновения. Комментарии в коде объясняют, что именно происходит, когда и почему, поэтому редактировать его в соответствии с особыми потребностями должно быть проще простого.
Источник: docs-python.ru
Тестируем 11 ботов для прокачки английского в Телеграм: полезный инструмент или чушь собачья?
18 : 56 , 12 февраля 2021 г.
В интернете есть куча статей типа «Топ ботов для прокачки английского». Но написаны они так, как будто информация переходит из одного текста в другой, а авторы даже не пытаются проверить их на собственном опыте.
Cегодня мы собираемся протестировать некоторые из популярных ботов для прокачки английского языка. Посмотрим как чат-боты, так и узконаправленные инструменты для изучения отдельных моментов. Поехали.
Начнем с того, что многие боты, которые мы решили протестировать, оказались нерабочими. В общей сложности мы проверили 23 бота из рейтингов и списков, из которых 12 оказались сломанными.
Неплохая штука, если хочется посмотреть, как используется конкретное слово в контексте. Может больше фаново, чем обучающе, но все же. Сейчас бот сломан. При переходе на него открывается пустой канал. И таких примеров достаточно. Если честно, мы обалдели от того, что куча интересных и функциональных ботов, которые мы ранее пробовали, оказались нерабочими.
«Хахаль, ничем не могу помочь», или Боты переводчики
И для начала выделим обычных ботов-переводчиков. Они полезны, если не хочется устанавливать на телефон лишний софт, но функционал их ограничивается только переводом слов и фраз.
Они отлично выполняют свои функции, но как инструмент для изучения или прокачки английского не подойдут.
С их помощью можно вспомнить перевод, посмотреть транскрипцию или значения слова, но не изучать язык — это лишь вспомогательные инструменты.
Переводит только слова. Дает максимально краткий перевод в одну строчку, без детализации, нюансов и примеров использования. Очень просто сломать, написав не одно слово, а фразу.
У нас получилось что-то такое:
«Хахаль, ничем не могу помочь» — шедевр.
Система выдает пример фразы в контексте, но качество этих примеров оставляет желать лучшего.
В отличие от предыдущего, переводить слова максимально подробно и выдает все возможные варианты перевода и значения, даже если их больше ста. По сути дублирует основной функционал Мультитрана, но без примеров использования.
Хороший бот от Яндекса , который умеет переводить не только отдельные слова, но и фразы. В формате бота доступны 12 языков — не густо, но для перевода небольших текстов или отдельных предложений достаточно.
Практически во всех топах есть этот бот. Начали мы именно с него.
По факту это обычный чат-бот, который ошибочно считают хорошим инструментом для совершенствования английского. Заметим, не самый лучший чат-бот.
Перепрыгивание с одной темы на другую — известная его проблема. С ним можно тренировать базовые фразы диалога, но как обучающий инструмент он не годится абсолютно.
В целом, это игрушка на 15 минут. Уже через это время робот начинает повторяться, в пятый раз спрашивать, как дела, и в десятый меняет тему разговора. Поэтому очень быстро надоедает и начинает раздражать.
Подозреваем, что он попадает в топы «Лучших ботов для изучения языка» уже по инерции или благодаря стараниям людей, заточенных на повторения. Но фактической пользы в нем нет.
Довольно неплохой бот, который помогает разобраться с нюансами использования слов и фраз.
Базовая функция — это переводчик. Он дает варианты перевода слов и сразу же его использование в контексте фраз и предложений. Очень удобно. Отдельно стоит упомянуть хорошую верстку — примеры и варианты использования не режут глаз и хорошо воспринимаются как с телефона, так и в десктопной версии.
Отдельно есть три дополнительных функции:
- Показать словосочетания с этим словом
- Привести примеры в текстах
- Дать произношение слова
Они работают хорошо. Распространенные словосочетания выдает актуальные, примеры в текстах — тоже.
Отдельное удивление — нормально работает функция произношения. Клик на кнопку — и бот выдает аудиофайл, где можно прослушать, как правильно произносить слово.
Как вспомогательный инструмент для обучения — вполне неплохо.
Бот для проверки правописания на английском. Это его единственная функция и он справляется неплохо.
В качестве теста написали два предложения с ошибками — бот их выделил и выдал исправленную версию текста.
Результат — неплохой, но не отличный. Простой текст с описками бот правит без проблем. Но вот с «каверзными» ошибками он не справился.
Бота можно добавлять в чаты — тогда если кто-то напишет сообщение на английском ошибкой, бот его поправит. Также в описании сказано, что бот успешно проверяет на ошибки и картинки, но здесь начинаются косяки.
Тестируем 11 ботов для прокачки английского в Телеграм: полезный инструмент или чушь собачья?
В интернете есть куча статей типа «Топ ботов для прокачки английского». Но написаны они так, как будто информация переходит из одного текста в другой, а авторы даже не пытаются проверить их на собственном опыте.
Cегодня мы собираемся протестировать некоторые из популярных ботов для прокачки английского языка. Посмотрим как чат-боты, так и узконаправленные инструменты для изучения отдельных моментов. Поехали.
Начнем с того, что многие боты, которые мы решили протестировать, оказались нерабочими. В общей сложности мы проверили 23 бота из рейтингов и списков, из которых 12 оказались сломанными.
Неплохая штука, если хочется посмотреть, как используется конкретное слово в контексте. Может больше фаново, чем обучающе, но все же.
Сейчас бот сломан. При переходе на него открывается пустой канал. И таких примеров достаточно. Если честно, мы обалдели от того, что куча интересных и функциональных ботов, которые мы ранее пробовали, оказались нерабочими.
«Хахаль, ничем не могу помочь», или Боты переводчики
И для начала выделим обычных ботов-переводчиков. Они полезны, если не хочется устанавливать на телефон лишний софт, но функционал их ограничивается только переводом слов и фраз.
Они отлично выполняют свои функции, но как инструмент для изучения или прокачки английского не подойдут.
С их помощью можно вспомнить перевод, посмотреть транскрипцию или значения слова, но не изучать язык — это лишь вспомогательные инструменты.
Переводит только слова. Дает максимально краткий перевод в одну строчку, без детализации, нюансов и примеров использования. Очень просто сломать, написав не одно слово, а фразу.
У нас получилось что-то такое:
«Хахаль, ничем не могу помочь» — шедевр.
Система выдает пример фразы в контексте, но качество этих примеров оставляет желать лучшего.
В отличие от предыдущего, переводить слова максимально подробно и выдает все возможные варианты перевода и значения, даже если их больше ста. По сути дублирует основной функционал Мультитрана, но без примеров использования.
Хороший бот от Яндекса, который умеет переводить не только отдельные слова, но и фразы. В формате бота доступны 12 языков — не густо, но для перевода небольших текстов или отдельных предложений достаточно.
Практически во всех топах есть этот бот. Начали мы именно с него.
По факту это обычный чат-бот, который ошибочно считают хорошим инструментом для совершенствования английского. Заметим, не самый лучший чат-бот.
Перепрыгивание с одной темы на другую — известная его проблема. С ним можно тренировать базовые фразы диалога, но как обучающий инструмент он не годится абсолютно.
В целом, это игрушка на 15 минут. Уже через это время робот начинает повторяться, в пятый раз спрашивать, как дела, и в десятый меняет тему разговора. Поэтому очень быстро надоедает и начинает раздражать.
Подозреваем, что он попадает в топы «Лучших ботов для изучения языка» уже по инерции или благодаря стараниям людей, заточенных на повторения. Но фактической пользы в нем нет.
Довольно неплохой бот, который помогает разобраться с нюансами использования слов и фраз.
Базовая функция — это переводчик. Он дает варианты перевода слов и сразу же его использование в контексте фраз и предложений. Очень удобно. Отдельно стоит упомянуть хорошую верстку — примеры и варианты использования не режут глаз и хорошо воспринимаются как с телефона, так и в десктопной версии.
Отдельно есть три дополнительных функции:
- Показать словосочетания с этим словом
- Привести примеры в текстах
- Дать произношение слова
Они работают хорошо. Распространенные словосочетания выдает актуальные, примеры в текстах — тоже.
Отдельное удивление — нормально работает функция произношения. Клик на кнопку — и бот выдает аудиофайл, где можно прослушать, как правильно произносить слово.
Как вспомогательный инструмент для обучения — вполне неплохо.
Бот для проверки правописания на английском. Это его единственная функция и он справляется неплохо.
В качестве теста написали два предложения с ошибками — бот их выделил и выдал исправленную версию текста.
Результат — неплохой, но не отличный. Простой текст с описками бот правит без проблем. Но вот с «каверзными» ошибками он не справился.
Бота можно добавлять в чаты — тогда если кто-то напишет сообщение на английском ошибкой, бот его поправит. Также в описании сказано, что бот успешно проверяет на ошибки и картинки, но здесь начинаются косяки.