formatting, exception handling, documentation

This commit is contained in:
Jannes Höke 2016-07-02 20:37:35 +02:00
parent e28bcc58ad
commit b136bdf997
4 changed files with 27 additions and 10 deletions

28
bot.py
View file

@ -51,18 +51,21 @@ logging.basicConfig(
level=logging.INFO) level=logging.INFO)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
remind_dict = {}
@user_locale @user_locale
def next_game(bot, update): def notify_me(bot, update):
"""handler for /next_game command , pm people for next game""" """Handler for /notify_me command, pm people for next game"""
chat_id = update.message.chat_id chat_id = update.message.chat_id
if update.message.chat.type == 'private': if update.message.chat.type == 'private':
send_async(bot, chat_id,text="call this in a group to be reminded ") send_async(bot,
chat_id,
text=_("Send this command in a group to be notified "
"when a new game is started there."))
else: else:
try: try:
remind_dict[chat_id].append(update.message.from_user.id) gm.remind_dict[chat_id].append(update.message.from_user.id)
except KeyError: except KeyError:
remind_dict[chat_id] = [update.message.from_user.id] gm.remind_dict[chat_id] = [update.message.from_user.id]
@user_locale @user_locale
@ -74,9 +77,16 @@ def new_game(bot, update):
help(bot, update) help(bot, update)
else: else:
for user in remind_dict[update.message.chat_id]:
send_async(bot , user , text = "A new game has been started in " + update.message.chat.title) if update.message.chat_id in gm.remind_dict:
del remind_dict[update.message.chat_id] for user in gm.remind_dict[update.message.chat_id]:
send_async(bot,
user,
text="A new game has been started in " +
update.message.chat.title)
del gm.remind_dict[update.message.chat_id]
game = gm.new_game(update.message.chat) game = gm.new_game(update.message.chat)
game.owner = update.message.from_user game.owner = update.message.from_user
send_async(bot, chat_id, send_async(bot, chat_id,

View file

@ -33,6 +33,8 @@ class GameManager(object):
self.chatid_games = dict() self.chatid_games = dict()
self.userid_players = dict() self.userid_players = dict()
self.userid_current = dict() self.userid_current = dict()
self.remind_dict = dict()
self.logger = logging.getLogger(__name__) self.logger = logging.getLogger(__name__)
def new_game(self, chat): def new_game(self, chat):

View file

@ -75,6 +75,10 @@ msgstr ""
msgid "Created a new game! Join the game with /join and start the game with /start" msgid "Created a new game! Join the game with /join and start the game with /start"
msgstr "" msgstr ""
#: bot.py
msgid "Send this command in a group to be notified when a new game is started there."
msgstr ""
#: bot.py:152 #: bot.py:152
msgid "The lobby is closed" msgid "The lobby is closed"
msgstr "" msgstr ""

View file

@ -40,7 +40,8 @@ help_text = ("Follow these steps:\n\n"
"the selected action.\n" "the selected action.\n"
"Players can join the game at any time. To leave a game, " "Players can join the game at any time. To leave a game, "
"use /leave. If a player takes more than 90 seconds to play, " "use /leave. If a player takes more than 90 seconds to play, "
"you can use /skip to skip that player.\n\n" "you can use /skip to skip that player. Use /notify_me to "
"receive a private message when a new game is started.\n\n"
"<b>Language</b> and other settings: /settings\n" "<b>Language</b> and other settings: /settings\n"
"Other commands (only game creator):\n" "Other commands (only game creator):\n"
"/close - Close lobby\n" "/close - Close lobby\n"