forked from test/mau_mau_bot
Update bot.py
Adding the function notify_me more texts in else part. Adding the function new_game to make players create a new game and join the game with the same command. Changing the function reset_waiting_time to 60 seconds. Changing the function skip_player in the else part to include the stats part for skipped_player.
This commit is contained in:
parent
0114fe774d
commit
f2e7a14318
1 changed files with 23 additions and 12 deletions
35
bot.py
35
bot.py
|
@ -55,7 +55,7 @@ logger = logging.getLogger(__name__)
|
||||||
@user_locale
|
@user_locale
|
||||||
def notify_me(bot, update):
|
def notify_me(bot, update):
|
||||||
"""Handler for /notify_me 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,
|
send_async(bot,
|
||||||
chat_id,
|
chat_id,
|
||||||
|
@ -64,6 +64,11 @@ def notify_me(bot, update):
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
gm.remind_dict[chat_id].add(update.message.from_user.id)
|
gm.remind_dict[chat_id].add(update.message.from_user.id)
|
||||||
|
send_async(bot,
|
||||||
|
chat_id,
|
||||||
|
text=_("You will be notified "
|
||||||
|
"when a new game is started in {title}.").format(
|
||||||
|
title=update.message.chat.title))
|
||||||
except KeyError:
|
except KeyError:
|
||||||
gm.remind_dict[chat_id] = {update.message.from_user.id}
|
gm.remind_dict[chat_id] = {update.message.from_user.id}
|
||||||
|
|
||||||
|
@ -71,7 +76,7 @@ def notify_me(bot, update):
|
||||||
@user_locale
|
@user_locale
|
||||||
def new_game(bot, update):
|
def new_game(bot, update):
|
||||||
"""Handler for the /new command"""
|
"""Handler for the /new command"""
|
||||||
chat_id = update.message.chat_id
|
chat_id = update.message.chat.id
|
||||||
|
|
||||||
if update.message.chat.type == 'private':
|
if update.message.chat.type == 'private':
|
||||||
help(bot, update)
|
help(bot, update)
|
||||||
|
@ -79,19 +84,20 @@ def new_game(bot, update):
|
||||||
else:
|
else:
|
||||||
|
|
||||||
if update.message.chat_id in gm.remind_dict:
|
if update.message.chat_id in gm.remind_dict:
|
||||||
for user in gm.remind_dict[update.message.chat_id]:
|
for user in gm.remind_dict[chat_id]:
|
||||||
send_async(bot,
|
send_async(bot,
|
||||||
user,
|
user,
|
||||||
text=_("A new game has been started in {title}").format(
|
text=_("A new game has been started in {title}.").format(
|
||||||
title=update.message.chat.title))
|
title=update.message.chat.title))
|
||||||
|
|
||||||
del gm.remind_dict[update.message.chat_id]
|
del gm.remind_dict[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,
|
||||||
text=_("Created a new game! Join the game with /join "
|
text=_("Created a new game! Wait for your friends "
|
||||||
"and start the game with /start"))
|
"and start the game with /start"))
|
||||||
|
gm.join_game(update.message.from_user, update.message.chat)
|
||||||
|
|
||||||
if botan:
|
if botan:
|
||||||
botan.track(update.message, 'New games')
|
botan.track(update.message, 'New games')
|
||||||
|
@ -475,7 +481,7 @@ def skip_player(bot, update):
|
||||||
try:
|
try:
|
||||||
gm.leave_game(skipped_player.user, chat)
|
gm.leave_game(skipped_player.user, chat)
|
||||||
send_async(bot, chat.id,
|
send_async(bot, chat.id,
|
||||||
text=__("{name1} was skipped four times in a row "
|
text=__("{name1} was skipped three times in a row "
|
||||||
"and has been removed from the game.\n"
|
"and has been removed from the game.\n"
|
||||||
"Next player: {name2}", multi=game.translate)
|
"Next player: {name2}", multi=game.translate)
|
||||||
.format(name1=display_name(skipped_player.user),
|
.format(name1=display_name(skipped_player.user),
|
||||||
|
@ -483,12 +489,17 @@ def skip_player(bot, update):
|
||||||
|
|
||||||
except NotEnoughPlayersError:
|
except NotEnoughPlayersError:
|
||||||
send_async(bot, chat.id,
|
send_async(bot, chat.id,
|
||||||
text=__("{name} was skipped four times in a row "
|
text=__("{name} was skipped three times in a row "
|
||||||
"and has been removed from the game.\n"
|
"and has been removed from the game.\n"
|
||||||
"The game ended.", multi=game.translate)
|
"The game ended.", multi=game.translate)
|
||||||
.format(name=display_name(skipped_player.user)))
|
.format(name=display_name(skipped_player.user)))
|
||||||
|
|
||||||
gm.end_game(chat.id, skipped_player.user)
|
us2 = UserSetting.get(id=skipped_player.user.id)
|
||||||
|
if us2 and us2.stats:
|
||||||
|
us2.games_played += 1
|
||||||
|
|
||||||
|
gm.end_game(chat, skipped_player.user)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@game_locales
|
@game_locales
|
||||||
|
@ -609,10 +620,10 @@ def reset_waiting_time(bot, player):
|
||||||
"""Resets waiting time for a player and sends a notice to the group"""
|
"""Resets waiting time for a player and sends a notice to the group"""
|
||||||
chat = player.game.chat
|
chat = player.game.chat
|
||||||
|
|
||||||
if player.waiting_time < 90:
|
if player.waiting_time < 60:
|
||||||
player.waiting_time = 90
|
player.waiting_time = 60
|
||||||
send_async(bot, chat.id,
|
send_async(bot, chat.id,
|
||||||
text=__("Waiting time for {name} has been reset to 90 "
|
text=__("Waiting time for {name} has been reset to 60 "
|
||||||
"seconds", multi=player.game.translate)
|
"seconds", multi=player.game.translate)
|
||||||
.format(name=display_name(player.user)))
|
.format(name=display_name(player.user)))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue