aboutsummaryrefslogtreecommitdiff
path: root/velascobot2/bot.py
diff options
context:
space:
mode:
Diffstat (limited to 'velascobot2/bot.py')
-rw-r--r--velascobot2/bot.py54
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}."
)