diff options
Diffstat (limited to 'velascobot2/bot.py')
| -rw-r--r-- | velascobot2/bot.py | 54 |
1 files changed, 21 insertions, 33 deletions
diff --git a/velascobot2/bot.py b/velascobot2/bot.py index bf1a161..d11865b 100644 --- a/velascobot2/bot.py +++ b/velascobot2/bot.py @@ -191,28 +191,10 @@ class Bot: assert update.message chat_id = str(update.message.chat.id) - chat_data = self.messenger.get_chat_data(chat_id) - if chat_data is None: - try: - await update.message.reply_text( - "I've processed no messages so far." - ) - except ( - telegram.error.Forbidden, - telegram.error.BadRequest, - telegram.error.NetworkError, - ) as e: - logger.error(str(e)) - return - - num = ( - str(chat_data.processed_messages) - if chat_data.processed_messages > 0 - else "no" - ) + count = self.messenger.get_processed_messages(chat_id) try: await update.message.reply_text( - "I've processed {} messages so far.".format(num) + f"I remember {count} messages." ) except ( telegram.error.Forbidden, @@ -379,7 +361,9 @@ class Bot: "let only admins" if not chat_data.restricted else "let everyone" ) try: - await update.message.reply_text(f"I will {allowed} configure me now.") + await update.message.reply_text( + f"I will {allowed} configure me now." + ) except ( telegram.error.Forbidden, telegram.error.BadRequest, @@ -672,15 +656,26 @@ class Bot: self, update: Update, context: ContextTypes.DEFAULT_TYPE ): """Handles the /speak command.""" + assert update.message chat = update.message.chat chat_id = str(chat.id) + if self.messenger.get_processed_messages(chat_id) == 0: + empty_gen_warning = "I haven't learned a single word yet." + await self.send( + chat_id, + Response.TEXT, + content=empty_gen_warning, + reply_to_message_id=update.message.message_id, + ) + return + chat_data = self.messenger.get_chat_data(chat_id) if chat_data is None: return if not self.testing and chat_data.restricted: - assert update.message + assert update.message.from_user user = await update.message.chat.get_member( update.message.from_user.id ) @@ -696,16 +691,7 @@ class Bot: # words = update.message.text.split() # if len(words) > 1: # self.messenger.process_text(chat_id, ' '.join(words[1:])) - if chat_data.processed_messages > 0: - await self.speak(chat_id, reply_to_message_id=rid) - else: - empty_gen_warning = "I haven't learned a single word yet." - await self.send( - chat_id, - Response.TEXT, - content=empty_gen_warning, - reply_to_message_id=rid, - ) + await self.speak(chat_id, reply_to_message_id=rid) async def show_config( self, update: Update, context: ContextTypes.DEFAULT_TYPE @@ -726,10 +712,12 @@ class Bot: else: permissions = "neither restricted nor silenced" + processed_messages = self.messenger.get_processed_messages(chat_id) + answer = ( f"You're messaging in the chat of __{chat_data.name}__, with id " f"`{chat_data.id}`, message count " - f"{chat_data.processed_messages}, period " + f"{processed_messages}, period " f"{chat_data.message_period}, and answer probability " f"{chat_data.answer_chance}.\n\nThis chat is {permissions}." ) |
