Skip to content

Commit

Permalink
Completed "Help" handler
Browse files Browse the repository at this point in the history
  • Loading branch information
Javinator9889 committed Jul 4, 2018
1 parent 1dce7be commit 8ba6ad5
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 31 deletions.
48 changes: 27 additions & 21 deletions youtube_md_bot/.idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

60 changes: 57 additions & 3 deletions youtube_md_bot/handlers/HelpHandler.py
Expand Up @@ -15,20 +15,74 @@ def help(self, bot: Bot, update: Update, args: list):

if len(args) == 0:
self.show_help_keyboard(bot=bot, user_id=user_id, lang=lang)
else:
help_attribute = args[0]
if help_attribute == "ta":
self.show_help_title_artist(bot, user_id, lang)
elif help_attribute == "url":
self.show_help_url(bot, user_id, lang)
elif help_attribute == 'h':
self.show_help_history(bot, user_id, lang)
elif help_attribute == "meta":
self.show_help_metadata(bot, user_id, lang)
else:
self.__show_reply_unrecognized_attribute(bot, user_id, lang)

def show_help_keyboard(self, bot: Bot, user_id: int, lang: str, message_id: int=None):
def show_help_keyboard(self, bot: Bot, user_id: int, lang: str, message_id: int = None):
help_message = self.__messages[lang][0]["help"]["msg"]
tt_at_button = self.__messages[lang][0]["help"]["d_via_tt-at-but"]
url_button = self.__messages[lang][0]["help"]["d_via_url-but"]
history_button = self.__messages[lang][0]["help"]["d_via_history-but"]
metadata_button = self.__messages[lang][0]["help"]["m_set_metadata-but"]
support_button = self.__messages[lang][0]["help"]["support_but"]

help_keyboard = InlineKeyboardMarkup([[InlineKeyboardButton(tt_at_button, callback_data="tt_at_button"),
InlineKeyboardButton(url_button, callback_data="url_button")],
[InlineKeyboardButton(history_button, callback_data="history_button"),
InlineKeyboardButton(support_button, callback_data="support_button")]])
InlineKeyboardButton(metadata_button, callback_data="metadata_button")],
[InlineKeyboardButton(support_button, callback_data="support_button")]])
if not message_id:
bot.sendMessage(chat_id=user_id, text=help_message, reply_markup=help_keyboard,
parse_mode=ParseMode.MARKDOWN)
else:
bot.editMessageText(help_message, chat_id=user_id, message_id=message_id, parse_mode=ParseMode.MARKDOWN)
bot.editMessageText(text=help_message, chat_id=user_id, message_id=message_id,
parse_mode=ParseMode.MARKDOWN)

def show_help_title_artist(self, bot: Bot, user_id: int, lang: str, message_id: int = None):
help_message = self.__messages[lang][0]["help"]["d_via_tt-at"]
if not message_id:
bot.sendMessage(chat_id=user_id, text=help_message, parse_mode=ParseMode.MARKDOWN)
else:
self.__show_keyboard_back_button(bot, user_id, lang, message_id, help_message)

def show_help_url(self, bot: Bot, user_id: int, lang: str, message_id: int = None):
help_message = self.__messages[lang][0]["help"]["d_via_url"]
if not message_id:
bot.sendMessage(chat_id=user_id, text=help_message, parse_mode=ParseMode.MARKDOWN)
else:
self.__show_keyboard_back_button(bot, user_id, lang, message_id, help_message)

def show_help_history(self, bot: Bot, user_id: int, lang: str, message_id: int = None):
help_message = self.__messages[lang][0]["help"]["d_via_history"]
if not message_id:
bot.sendMessage(chat_id=user_id, text=help_message, parse_mode=ParseMode.MARKDOWN)
else:
self.__show_keyboard_back_button(bot, user_id, lang, message_id, help_message)

def show_help_metadata(self, bot: Bot, user_id: int, lang: str, message_id: int = None):
help_message = self.__messages[lang][0]["help"]["m_set_metadata"]
if not message_id:
bot.sendMessage(chat_id=user_id, text=help_message, parse_mode=ParseMode.MARKDOWN)
else:
self.__show_keyboard_back_button(bot, user_id, lang, message_id, help_message)

def __show_keyboard_back_button(self, bot: Bot, user_id: int, lang: str, message_id: int, text: str):
back_button = self.__messages[lang][0]["help"]["back_button"]

back_keyboard = InlineKeyboardMarkup([[InlineKeyboardButton(back_button, callback_data="help_back")]])
bot.editMessageText(text=text, chat_id=user_id, message_id=message_id,
parse_mode=ParseMode.MARKDOWN, reply_markup=back_keyboard)

def __show_reply_unrecognized_attribute(self, bot: Bot, user_id: int, lang: str):
unrecognized_text = self.__messages[lang][0]["help"]["h_unrecognized"]
bot.sendMessage(chat_id=user_id, text=unrecognized_text, parse_mode=ParseMode.MARKDOWN)
18 changes: 11 additions & 7 deletions youtube_md_bot/messages/messages.json
Expand Up @@ -9,13 +9,17 @@
"help": [
{
"msg": "Para descargar una canción puedes:\n ■ *Buscar* 🔎 la canción por _título y artista_, enviándoselo directamente al bot\n ■ *Enviar* directamente la _URL_ 🔗 del vídeo\n ■ Seleccionar una *canción ya descargada* desde el historial 🕒\n\nPara más ayuda, navega con los botones que aparecen debajo",
"d_via_tt-at-but": "Título y artista",
"d_via_url-but": "URL",
"d_via_history-but": "Historial",
"support_but": "Soporte",
"d_via_tt-at": "*Descarga*[ ]({})canciones enviando directamente el _título_ 🎤 y _artista_ 🗣 de la canción al bot",
"d_via_url": "Comienza[ ]({})directamente *con la descarga* enviando la URL del vídeo de YouTube\n\nPuedes usar un bot _inline_ como @vid para agilizar este proceso",
"d_via_history": "Accede[ ]({})a tu *historial* mediante el comando /history, desde donde podrás _seleccionar directamente_ la canción que quieras descargar"
"d_via_tt-at-but": "Título y artista 🗣🎤",
"d_via_url-but": "URL 🔗",
"d_via_history-but": "Historial 🕒",
"m_set_metadata-but": "Metadatos 🏷",
"support_but": "Soporte 🛠",
"back_button": "◀ Atrás",
"d_via_tt-at": "*Descarga*[ ]({})canciones enviando directamente el _título_ 🎤 y _artista_ 🗣 de la canción al bot.\n\n_Puedes obtener esta información escribiendo:_ `/help ta` (*t*itle, *a*rtist)",
"d_via_url": "Comienza[ ]({})directamente *con la descarga* enviando la URL del vídeo de YouTube\n\nPuedes usar un bot _inline_ como @vid para agilizar este proceso.\n\n_Puedes obtener esta información escribiendo:_ `/help url`",
"d_via_history": "Accede[ ]({})a tu *historial* mediante el comando /history, desde donde podrás _seleccionar directamente_ la canción que quieras descargar.\n\n_Puedes obtener esta información escribiendo:_ `/help h` (*h*istory)",
"m_set_metadata": "Cambia los metadatos de una canción al descargarla:\n\n ■ Cambia *las preferencias* ⚙ usando /config\n ■ Cuando _descargues un vídeo_, se te preguntará por las preferencias. Indica el título usando /t:\n `/t titulo`\n Indica el artista usando /a:\n `/a artista`\n ■ Se te *preguntará* si quieres usar la _miniatura de YouTube_ como carátula de tu canción.\n\n_Puedes obtener esta información escribiendo:_ `/help meta` (*meta*data)",
"h_unrecognized": "No se reconoce el atributo. La lista de opciones disponibles es:\n\n ■ `/help ta`, para título y artista 🗣🎤\n ■ `/help url`, para URL 🔗\n ■ `/help h`, para historial 🕒\n ■ `/help meta`, para metadatos 🏷"
}
]
}
Expand Down

0 comments on commit 8ba6ad5

Please sign in to comment.