diff --git a/src/beebot.py b/src/beebot.py
index bb22e43..1000d1e 100644
--- a/src/beebot.py
+++ b/src/beebot.py
@@ -12,6 +12,7 @@ import aiohttp
import telegram.constants
from bs4 import BeautifulSoup
from telegram import Update, InlineKeyboardMarkup, InlineKeyboardButton
+from telegram.constants import ParseMode
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes, CallbackQueryHandler, Application
log_dir = os.getenv("BEEBOT_LOGS")
@@ -96,6 +97,7 @@ class BeeBot:
self.load_i18n()
self.tg_app = ApplicationBuilder().token(self.tg_token).build()
+ self.tg_app.add_handler(CommandHandler("start", self.cmd_start))
self.tg_app.add_handler(CommandHandler("week", self.cmd_week))
self.tg_app.add_handler(CommandHandler("today", self.cmd_today))
self.tg_app.add_handler(CommandHandler("settings", self.cmd_settings))
@@ -115,6 +117,11 @@ class BeeBot:
return f"[{key}]"
return self.langs[lang][key]
+ async def cmd_start(self, update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
+ logger.debug("Received /start")
+ lang = self.get_user_pref(update, context)["lang"]
+ await update.effective_chat.send_message(text=self.i18n(lang, "notif.start"), parse_mode=ParseMode.HTML)
+
async def cmd_week(self, update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
logger.debug("Received /week")
await self.request_menu(update, context, False)
diff --git a/src/lang.json b/src/lang.json
index e82b21b..9243844 100644
--- a/src/lang.json
+++ b/src/lang.json
@@ -11,7 +11,8 @@
"setting.language": "Langue: {}",
"setting.categories": "Catégories: {}",
"notif.wait_updating": "Le menu est en train d'être mis à jour, veuillez patienter...",
- "notif.unavailable": "Il semblerait que le menu ne soit actuellement pas disponible"
+ "notif.unavailable": "Il semblerait que le menu ne soit actuellement pas disponible",
+ "notif.start": "Salut, je suis BeeBot 🐝, le robot des menus de la cafétéria de l'HEI !\n(changer la langue / change language / Sprache ändern: /settings)\n\nPour voir les menus de la semaine, utilisez la commande /week\nPour voir les menus du jour, utilisez /today\n\nSi vous souhaitez changer la langue dans laquelle je parle ou les catégories de prix affichées dans les menus, utilisez la commande /settings\n\nMerci de ne pas spammer afin de ne pas impacter l'utilisation de ce service par les autres personnes\n\nBon appétit ! 🍽"
},
"en": {
"category.student": "Student",
@@ -25,7 +26,8 @@
"setting.language": "Language: {}",
"setting.categories": "Categories: {}",
"notif.wait_updating": "The menu is being updated, please wait...",
- "notif.unavailable": "It seems that the menu is currently unavailable"
+ "notif.unavailable": "It seems that the menu is currently unavailable",
+ "notif.start": "Hi, I'm BeeBot 🐝, the HEI cafeteria menu robot !\n(changer la langue / change language / Sprache ändern: /settings)\n\nTo see the menus for the week, use the command /week\nTo see today's menus, use /today\n\nIf you want to change the language I speak or the price categories displayed in the menus, use the command /settings\n\nPlease do not spam to avoid affecting other people's use of this service\n\nEnjoy your meal ! 🍽"
},
"de": {
"category.student": "Student",
@@ -39,6 +41,7 @@
"setting.language": "Sprache: {}",
"setting.categories": "Kategorien: {}",
"notif.wait_updating": "Das Menü wird gerade aktualisiert, bitte warten Sie...",
- "notif.unavailable": "Es scheint, dass das Menü derzeit nicht verfügbar ist"
+ "notif.unavailable": "Es scheint, dass das Menü derzeit nicht verfügbar ist",
+ "notif.start": "Hallo, ich bin BeeBot 🐝, der Menüroboter der Cafeteria der HEI !\n(changer la langue / change language / Sprache ändern: /settings)\n\nUm die Menüs der Woche zu sehen, verwende den Befehl /week\nUm die Menüs des Tages zu sehen, verwenden Sie /today\n\nWenn Sie die Sprache, in der ich spreche, oder die Preiskategorien, die in den Menüs angezeigt werden, ändern möchten, verwenden Sie den Befehl /settings\n\nBitte spammen Sie nicht, um die Nutzung dieses Dienstes durch andere Personen nicht zu beeinträchtigen\n\nGuten Appetit ! 🍽"
}
}
\ No newline at end of file