diff --git a/ciclopibot/__init__.py b/ciclopibot/__init__.py
index 1e90199..a1be30d 100644
--- a/ciclopibot/__init__.py
+++ b/ciclopibot/__init__.py
@@ -3,6 +3,6 @@
__author__ = "Davide Testa"
__email__ = "davide@davte.it"
__license__ = "GNU General Public License v3.0"
-__version__ = "1.0.11"
+__version__ = "1.0.12"
__maintainer__ = "Davide Testa"
__contact__ = "t.me/davte"
diff --git a/ciclopibot/bot.py b/ciclopibot/bot.py
index 2e2321f..d54c3db 100644
--- a/ciclopibot/bot.py
+++ b/ciclopibot/bot.py
@@ -54,6 +54,31 @@ supported_languages = {
}
}
+ciclopibot_help_messages = {
+ 'help_command': {
+ 'text': {
+ 'en': "{bot.name} guide\n\n"
+ "Welcome!\n"
+ "To visit a guide section, press the corresponding "
+ "button.\n"
+ "To view all available commands, see section "
+ "`Comandi`.\n\n"
+ "Bot author and administrator: @Davte",
+ 'it': "๐ Guida di {bot.name}\n\n"
+ "Benvenuto!\n"
+ "Per leggere una sezione della guida premi il bottone "
+ "corrispondente. Per conoscere tutti i comandi "
+ "disponibili, visita l'apposita sezione della guida "
+ "premendo il pulsante Comandi.\n\n"
+ "Autore e amministratore del bot: @Davte"
+ },
+ 'description': {
+ 'en': "Help",
+ 'it': "Aiuto"
+ }
+ }
+}
+
if __name__ == '__main__':
path = os.path.dirname(__file__)
@@ -125,16 +150,12 @@ if __name__ == '__main__':
ciclopi.init(bot)
helper.init(
bot=bot,
- help_message="๐ Guida di {bot.name}\n\n"
- "Benvenuto!\n"
- "Per conoscere i comandi disponibili visita l'apposita "
- "sezione della guida premendo il pulsante Comandi.\n\n"
- "Autore e amministratore del bot: @davte",
+ help_messages=ciclopibot_help_messages,
help_sections_file='ciclopibot/data/help.json'
)
authorization.init(bot)
languages.init(
- bot, language='it', language_messages=language_messages,
+ bot, language_messages=language_messages,
supported_languages=supported_languages
)
# Run bot(s)
diff --git a/ciclopibot/ciclopi.py b/ciclopibot/ciclopi.py
index 35bf947..2dc9de1 100644
--- a/ciclopibot/ciclopi.py
+++ b/ciclopibot/ciclopi.py
@@ -15,6 +15,15 @@ from davtelepot.utilities import (
make_lines_of_buttons
)
+default_ciclopi_messages = {
+ 'ciclopi_command': {
+ 'description': {
+ 'en': "CiloPi stations status",
+ 'it': "Stato delle stazioni CicloPi"
+ }
+ }
+}
+
_URL = "http://www.ciclopi.eu/frmLeStazioni.aspx"
ciclopi_webpage = CachedPage.get(
@@ -1452,7 +1461,7 @@ async def _ciclopi_button(bot, update, user_record):
return result
-def init(bot):
+def init(bot, ciclopi_messages=None):
"""Take a bot and assign commands to it."""
with bot.db as db:
if 'ciclopi_stations' not in db.tables:
@@ -1481,9 +1490,14 @@ def init(bot):
)
)
+ if ciclopi_messages is None:
+ ciclopi_messages = default_ciclopi_messages
+
@bot.command(command='/ciclopi', aliases=["CicloPi ๐ฒ", "๐ฒ CicloPi ๐ด"],
show_in_keyboard=True,
- description="Stato delle stazioni CicloPi",
+ description=(
+ ciclopi_messages['ciclopi_command']['description']
+ ),
authorization_level='everybody')
async def ciclopi_command(bot, update, user_record):
return await _ciclopi_command(bot, update, user_record)
diff --git a/ciclopibot/helper.py b/ciclopibot/helper.py
index 0f32993..cea7f84 100644
--- a/ciclopibot/helper.py
+++ b/ciclopibot/helper.py
@@ -6,10 +6,25 @@ from davtelepot.utilities import (
make_lines_of_buttons, make_button, MyOD
)
-DENY_MESSAGE = (
- "Chiedi di essere autorizzato: se la tua richiesta verrร accolta, "
- "ripeti il comando /help per leggere il messaggio di aiuto."
-)
+default_help_messages = {
+ 'help_command': {
+ 'text': {
+ 'en': "Guide",
+ 'it': "Guida"
+ },
+ 'description': {
+ 'en': "Help",
+ 'it': "Aiuto"
+ },
+ 'access_denied_message': {
+ 'en': "Ask for authorization. If your request is accepted, send "
+ "/help command again to read the guide.",
+ 'it': "Chiedi di essere autorizzato: se la tua richiesta "
+ "verrร accolta, ripeti il comando /help per leggere "
+ "il messaggio di aiuto."
+ }
+ }
+}
def get_command_description(bot, update, user_record):
@@ -104,10 +119,17 @@ def get_help_buttons(bot, update, user_record):
async def _help_command(bot, update, user_record):
if not bot.authorization_function(update=update,
authorization_level='everybody'):
- return DENY_MESSAGE
+ return bot.get_message(
+ 'help', 'help_command', 'access_denied_message',
+ update=update, user_record=user_record
+ )
reply_markup = get_help_buttons(bot, update, user_record)
return dict(
- text=bot.help_message.format(bot=bot),
+ text=bot.get_message(
+ 'help', 'help_command', 'text',
+ update=update, user_record=user_record,
+ bot=bot
+ ),
parse_mode='HTML',
reply_markup=reply_markup,
disable_web_page_preview=True
@@ -125,7 +147,11 @@ async def _help_button(bot, update, user_record):
)
rm = HELP_MENU_BUTTON
elif command == 'menu':
- text = bot.help_message.format(bot=bot)
+ text = bot.get_message(
+ 'help', 'help_command', 'text',
+ update=update, user_record=user_record,
+ bot=bot
+ )
rm = get_help_buttons(bot, update, user_record)
else:
for code, section in bot.help_sections.items():
@@ -169,10 +195,12 @@ async def _start_command(bot, update, user_record):
return
-def init(bot, help_message="Guida",
+def init(bot, help_messages=None,
help_sections_file='data/help.json', help_buttons=[]):
"""Assign parsers, commands, buttons and queries to given `bot`."""
- bot.help_message = help_message
+ if help_messages is None:
+ help_messages = default_help_messages
+ bot.messages['help'] = help_messages
bot.help_buttons = help_buttons
bot.help_sections = MyOD()
for code, section in enumerate(
@@ -188,7 +216,8 @@ def init(bot, help_message="Guida",
return await _start_command(bot, update, user_record)
@bot.command(command='/help', aliases=['Guida ๐', '00help'],
- show_in_keyboard=True, description="Aiuto",
+ show_in_keyboard=True,
+ description=help_messages['help_command']['description'],
authorization_level='everybody')
async def help_command(bot, update, user_record):
result = await _help_command(bot, update, user_record)