Move buttons to button_groups.py
This commit is contained in:
parent
095e7791d3
commit
6e55bae42c
51
bot.py
51
bot.py
|
@ -10,6 +10,7 @@ from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, \
|
||||||
import signal
|
import signal
|
||||||
import sys
|
import sys
|
||||||
import re
|
import re
|
||||||
|
import button_groups
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import config
|
import config
|
||||||
|
@ -33,11 +34,7 @@ def start(bot, update):
|
||||||
name += " " + str(update.message.from_user.last_name)
|
name += " " + str(update.message.from_user.last_name)
|
||||||
text = f"Hello {name}!\n" + \
|
text = f"Hello {name}!\n" + \
|
||||||
"Welcome to Questable. To get started, check /help."
|
"Welcome to Questable. To get started, check /help."
|
||||||
custom_keyboard = [
|
custom_keyboard = button_groups.main
|
||||||
['❇️ Add Quest', '📯 Add Side Quest'],
|
|
||||||
['📜 List Quests', '📃 List Side Quests'],
|
|
||||||
['🏅 Player Status']
|
|
||||||
]
|
|
||||||
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
||||||
bot.send_message(chat_id=chat_id, text=text, reply_markup=reply_markup)
|
bot.send_message(chat_id=chat_id, text=text, reply_markup=reply_markup)
|
||||||
|
|
||||||
|
@ -87,7 +84,7 @@ def add_name(bot, update, player, type, qid):
|
||||||
|
|
||||||
chat_id = update.message.chat_id
|
chat_id = update.message.chat_id
|
||||||
text = "How difficult is it?"
|
text = "How difficult is it?"
|
||||||
custom_keyboard = [["📙 Low", "📘 Medium", "📗 High"]]
|
custom_keyboard = button_groups.difficulty
|
||||||
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
||||||
bot.send_message(chat_id=chat_id, text=text, reply_markup=reply_markup)
|
bot.send_message(chat_id=chat_id, text=text, reply_markup=reply_markup)
|
||||||
|
|
||||||
|
@ -118,7 +115,7 @@ def add_diff(bot, update, player, type, qid):
|
||||||
x.update_db()
|
x.update_db()
|
||||||
|
|
||||||
text = "How important is it?"
|
text = "How important is it?"
|
||||||
custom_keyboard = [["🔹 Low", "🔸 Medium", "🔺 High"]]
|
custom_keyboard = button_groups.importance
|
||||||
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
||||||
bot.send_message(chat_id=chat_id, text=text, reply_markup=reply_markup)
|
bot.send_message(chat_id=chat_id, text=text, reply_markup=reply_markup)
|
||||||
|
|
||||||
|
@ -170,11 +167,7 @@ def send_status(bot, update, player, prefix=""):
|
||||||
f'<b>💠 Side Quests:</b> {completed_side_quests}/'
|
f'<b>💠 Side Quests:</b> {completed_side_quests}/'
|
||||||
f'{total_side_quests}\n')
|
f'{total_side_quests}\n')
|
||||||
chat_id = update.message.chat_id
|
chat_id = update.message.chat_id
|
||||||
custom_keyboard = [
|
custom_keyboard = button_groups.main
|
||||||
['❇️ Add Quest', '📯 Add Side Quest'],
|
|
||||||
['📜 List Quests', '📃 List Side Quests'],
|
|
||||||
['🏅 Player Status']
|
|
||||||
]
|
|
||||||
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
||||||
bot.send_message(chat_id=chat_id, text=text, reply_markup=reply_markup,
|
bot.send_message(chat_id=chat_id, text=text, reply_markup=reply_markup,
|
||||||
parse_mode="HTML")
|
parse_mode="HTML")
|
||||||
|
@ -246,13 +239,7 @@ def quest(bot, update, player, qid, type):
|
||||||
elif x.state == 0:
|
elif x.state == 0:
|
||||||
state = {"quest": "eq", "side_quest": "esq"}[type]
|
state = {"quest": "eq", "side_quest": "esq"}[type]
|
||||||
player.set_state(state, qid)
|
player.set_state(state, qid)
|
||||||
custom_keyboard = [
|
custom_keyboard = button_groups.quests(type)
|
||||||
["✅ Mark as done"],
|
|
||||||
["📝 Edit Name", "⚠️ Change Priority"],
|
|
||||||
["📚 Change Difficulty", "🗑 Delete " +
|
|
||||||
{"quest": "Quest", "side_quest": "Side Quest"}[type]],
|
|
||||||
["⬅️ Back"]]
|
|
||||||
|
|
||||||
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
||||||
chat_id = update.message.chat_id
|
chat_id = update.message.chat_id
|
||||||
bot.send_message(chat_id=chat_id, text=text, parse_mode="HTML",
|
bot.send_message(chat_id=chat_id, text=text, parse_mode="HTML",
|
||||||
|
@ -287,11 +274,7 @@ def mark_as_done(bot, update, player, qid, type):
|
||||||
player.set_state('none', 0)
|
player.set_state('none', 0)
|
||||||
send_status(bot, update, player, f"<b>🌟 Earned {points} XP</b>\n\n")
|
send_status(bot, update, player, f"<b>🌟 Earned {points} XP</b>\n\n")
|
||||||
chat_id = update.message.chat_id
|
chat_id = update.message.chat_id
|
||||||
custom_keyboard = [
|
custom_keyboard = button_groups.main
|
||||||
['❇️ Add Quest', '📯 Add Side Quest'],
|
|
||||||
['📜 List Quests', '📃 List Side Quests'],
|
|
||||||
['🏅 Player Status']
|
|
||||||
]
|
|
||||||
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
||||||
bot.send_animation(chat_id=chat_id, animation=random.choice(config.gifs),
|
bot.send_animation(chat_id=chat_id, animation=random.choice(config.gifs),
|
||||||
reply_markup=reply_markup)
|
reply_markup=reply_markup)
|
||||||
|
@ -371,11 +354,7 @@ def help_command(bot, update, db):
|
||||||
player = questable.player(db, update.message.chat_id)
|
player = questable.player(db, update.message.chat_id)
|
||||||
drop_state(bot, update, player)
|
drop_state(bot, update, player)
|
||||||
chat_id = update.message.chat_id
|
chat_id = update.message.chat_id
|
||||||
custom_keyboard = [
|
custom_keyboard = button_groups.main
|
||||||
['❇️ Add Quest', '📯 Add Side Quest'],
|
|
||||||
['📜 List Quests', '📃 List Side Quests'],
|
|
||||||
['🏅 Player Status']
|
|
||||||
]
|
|
||||||
text = ("*Questable Bot*\n\nQuestable is an RPG-like bot for maintaining "
|
text = ("*Questable Bot*\n\nQuestable is an RPG-like bot for maintaining "
|
||||||
"events in real life. _Main Tasks_ are _Quests_ while _other "
|
"events in real life. _Main Tasks_ are _Quests_ while _other "
|
||||||
"tasks_ are _Side Quests._ You can use the bot to maintain a "
|
"tasks_ are _Side Quests._ You can use the bot to maintain a "
|
||||||
|
@ -396,11 +375,7 @@ def rate_command(bot, update, db):
|
||||||
player = questable.player(db, update.message.chat_id)
|
player = questable.player(db, update.message.chat_id)
|
||||||
drop_state(bot, update, player)
|
drop_state(bot, update, player)
|
||||||
chat_id = update.message.chat_id
|
chat_id = update.message.chat_id
|
||||||
custom_keyboard = [
|
custom_keyboard = button_groups.main
|
||||||
['❇️ Add Quest', '📯 Add Side Quest'],
|
|
||||||
['📜 List Quests', '📃 List Side Quests'],
|
|
||||||
['🏅 Player Status']
|
|
||||||
]
|
|
||||||
text = ("[Vote for us on Telegram Directory!](https://t.me/tgdrbot?"
|
text = ("[Vote for us on Telegram Directory!](https://t.me/tgdrbot?"
|
||||||
"start=questable_bot)\n\n"
|
"start=questable_bot)\n\n"
|
||||||
"Telegram Directory is a website that helps you discover top "
|
"Telegram Directory is a website that helps you discover top "
|
||||||
|
@ -474,14 +449,14 @@ def message_handling(bot, update, db):
|
||||||
elif text == "change priority" or text == "⚠️ change priority":
|
elif text == "change priority" or text == "⚠️ change priority":
|
||||||
player.set_state('eqi', state["extra"])
|
player.set_state('eqi', state["extra"])
|
||||||
text = "How important is it?"
|
text = "How important is it?"
|
||||||
custom_keyboard = [["🔹 Low", "🔸 Medium", "🔺 High"]]
|
custom_keyboard = button_groups.importance
|
||||||
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
||||||
bot.send_message(chat_id=player.CHAT_ID, text=text,
|
bot.send_message(chat_id=player.CHAT_ID, text=text,
|
||||||
reply_markup=reply_markup)
|
reply_markup=reply_markup)
|
||||||
elif text == "change difficulty" or text == "📚 change difficulty":
|
elif text == "change difficulty" or text == "📚 change difficulty":
|
||||||
player.set_state('eqd', state["extra"])
|
player.set_state('eqd', state["extra"])
|
||||||
text = "How difficult is it?"
|
text = "How difficult is it?"
|
||||||
custom_keyboard = [["📙 Low", "📘 Medium", "📗 High"]]
|
custom_keyboard = button_groups.difficulty
|
||||||
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
||||||
bot.send_message(chat_id=player.CHAT_ID, text=text,
|
bot.send_message(chat_id=player.CHAT_ID, text=text,
|
||||||
reply_markup=reply_markup)
|
reply_markup=reply_markup)
|
||||||
|
@ -510,14 +485,14 @@ def message_handling(bot, update, db):
|
||||||
elif text == "change priority" or text == "⚠️ change priority":
|
elif text == "change priority" or text == "⚠️ change priority":
|
||||||
player.set_state('esqi', state["extra"])
|
player.set_state('esqi', state["extra"])
|
||||||
text = "How important is it?"
|
text = "How important is it?"
|
||||||
custom_keyboard = [["🔹 Low", "🔸 Medium", "🔺 High"]]
|
custom_keyboard = button_groups.importance
|
||||||
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
||||||
bot.send_message(chat_id=player.CHAT_ID, text=text,
|
bot.send_message(chat_id=player.CHAT_ID, text=text,
|
||||||
reply_markup=reply_markup)
|
reply_markup=reply_markup)
|
||||||
elif text == "change difficulty" or text == "📚 change difficulty":
|
elif text == "change difficulty" or text == "📚 change difficulty":
|
||||||
player.set_state('esqd', state["extra"])
|
player.set_state('esqd', state["extra"])
|
||||||
text = "How difficult is it?"
|
text = "How difficult is it?"
|
||||||
custom_keyboard = [["📙 Low", "📘 Medium", "📗 High"]]
|
custom_keyboard = button_groups.difficulty
|
||||||
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
reply_markup = telegram.ReplyKeyboardMarkup(custom_keyboard)
|
||||||
bot.send_message(chat_id=player.CHAT_ID, text=text,
|
bot.send_message(chat_id=player.CHAT_ID, text=text,
|
||||||
reply_markup=reply_markup)
|
reply_markup=reply_markup)
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
main = [
|
||||||
|
['❇️ Add Quest', '📯 Add Side Quest'],
|
||||||
|
['📜 List Quests', '📃 List Side Quests'],
|
||||||
|
['🏅 Player Status']
|
||||||
|
]
|
||||||
|
|
||||||
|
importance = [["🔹 Low", "🔸 Medium", "🔺 High"]]
|
||||||
|
difficulty = [["📙 Low", "📘 Medium", "📗 High"]]
|
||||||
|
|
||||||
|
|
||||||
|
def quests(cat):
|
||||||
|
return [
|
||||||
|
["✅ Mark as done"],
|
||||||
|
["📝 Edit Name", "⚠️ Change Priority"],
|
||||||
|
["📚 Change Difficulty", "🗑 Delete " +
|
||||||
|
{"quest": "Quest", "side_quest": "Side Quest"}[cat]],
|
||||||
|
["⬅️ Back"]]
|
Loading…
Reference in New Issue