Python telegram.error.ChatMigrated() Examples
The following are 5
code examples of telegram.error.ChatMigrated().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
telegram.error
, or try the search function
.
Example #1
Source File: maintenance.py From sticker-finder with MIT License | 6 votes |
def distribute_tasks(bot, session): """Distribute tasks under idle maintenance chats.""" idle_maintenance_chats = ( session.query(Chat) .filter(Chat.is_maintenance) .filter(Chat.current_task_id.is_(None)) .all() ) for chat in idle_maintenance_chats: try: tg_chat = call_tg_func(bot, "get_chat", args=[chat.id]) except BadRequest as e: if e.message == "Chat not found": # noqa session.delete(chat) continue raise e try: check_maintenance_chat(session, tg_chat, chat, job=True) except (Unauthorized, ChatMigrated): session.delete(chat) session.commit()
Example #2
Source File: __main__.py From SkittBot with GNU General Public License v3.0 | 5 votes |
def error_callback(bot, update, error): try: raise error except Unauthorized: print("no nono1") print(error) # remove update.message.chat_id from conversation list except BadRequest: print("no nono2") print("BadRequest caught") print(error) # handle malformed requests - read more below! except TimedOut: print("no nono3") # handle slow connection problems except NetworkError: print("no nono4") # handle other connection problems except ChatMigrated as err: print("no nono5") print(err) # the chat_id of a group has changed, use e.new_chat_id instead except TelegramError: print(error) # handle all other telegram related errors
Example #3
Source File: __main__.py From Marie-2.0-English with GNU General Public License v3.0 | 5 votes |
def error_callback(bot, update, error): try: raise error except Unauthorized: print("no nono1") print(error) # remove update.message.chat_id from conversation list except BadRequest: print("no nono2") print("BadRequest caught") print(error) # handle malformed requests - read more below! except TimedOut: print("no nono3") # handle slow connection problems except NetworkError: print("no nono4") # handle other connection problems except ChatMigrated as err: print("no nono5") print(err) # the chat_id of a group has changed, use e.new_chat_id instead except TelegramError: print(error) # handle all other telegram related errors
Example #4
Source File: __main__.py From tgbot with GNU General Public License v3.0 | 5 votes |
def error_callback(bot, update, error): try: raise error except Unauthorized: print("no nono1") print(error) # remove update.message.chat_id from conversation list except BadRequest: print("no nono2") print("BadRequest caught") print(error) # handle malformed requests - read more below! except TimedOut: print("no nono3") # handle slow connection problems except NetworkError: print("no nono4") # handle other connection problems except ChatMigrated as err: print("no nono5") print(err) # the chat_id of a group has changed, use e.new_chat_id instead except TelegramError: print(error) # handle all other telegram related errors
Example #5
Source File: __main__.py From EmiliaHikari with GNU General Public License v3.0 | 4 votes |
def error_callback(update, context): # add all the dev user_ids in this list. You can also add ids of channels or groups. devs = [OWNER_ID] # we want to notify the user of this problem. This will always work, but not notify users if the update is an # callback or inline query, or a poll update. In case you want this, keep in mind that sending the message # could fail if update.effective_message: text = "Hey. I'm sorry to inform you that an error happened while I tried to handle your update. " \ "My developer(s) will be notified." update.effective_message.reply_text(text) # This traceback is created with accessing the traceback object from the sys.exc_info, which is returned as the # third value of the returned tuple. Then we use the traceback.format_tb to get the traceback as a string, which # for a weird reason separates the line breaks in a list, but keeps the linebreaks itself. So just joining an # empty string works fine. trace = "".join(traceback.format_tb(sys.exc_info()[2])) # lets try to get as much information from the telegram update as possible payload = "" # normally, we always have an user. If not, its either a channel or a poll update. if update.effective_user: payload += f' with the user {mention_html(update.effective_user.id, update.effective_user.first_name)}' # there are more situations when you don't get a chat if update.effective_chat: payload += f' within the chat <i>{update.effective_chat.title}</i>' if update.effective_chat.username: payload += f' (@{update.effective_chat.username})' # but only one where you have an empty payload by now: A poll (buuuh) if update.poll: payload += f' with the poll id {update.poll.id}.' # lets put this in a "well" formatted text text = f"Hey.\n The error <code>{context.error}</code> happened{payload}. The full traceback:\n\n<code>{trace}" \ f"</code>" # and send it to the dev(s) for dev_id in devs: context.bot.send_message(dev_id, text, parse_mode=ParseMode.HTML) # we raise the error again, so the logger module catches it. If you don't use the logger module, use it. try: raise context.error except Unauthorized: # remove update.message.chat_id from conversation list LOGGER.exception('Update "%s" caused error "%s"', update, context.error) except BadRequest: # handle malformed requests - read more below! LOGGER.exception('Update "%s" caused error "%s"', update, context.error) except TimedOut: # handle slow connection problems LOGGER.exception('Update "%s" caused error "%s"', update, context.error) except NetworkError: # handle other connection problems LOGGER.exception('Update "%s" caused error "%s"', update, context.error) except ChatMigrated as e: # the chat_id of a group has changed, use e.new_chat_id instead LOGGER.exception('Update "%s" caused error "%s"', update, context.error) except TelegramError: # handle all other telegram related errors LOGGER.exception('Update "%s" caused error "%s"', update, context.error)