Skip to content

Commit 9ce2ea5

Browse files
ahmedabuamratimabbott
authored andcommitted
integrations: Remove !avatar from game handler.
The issue linked to this commit suggest suggests to replace the avatar with the username only, I just needed to remove !avatar as the code already shows the username. Fixes part of #632.
1 parent e995e52 commit 9ce2ea5

File tree

2 files changed

+16
-31
lines changed

2 files changed

+16
-31
lines changed

zulip_bots/zulip_bots/bots/game_handler_bot/test_game_handler_bot.py

+7-10
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ def test_quit_invite(self) -> None:
229229
}
230230
}
231231
self.verify_response(
232-
'quit', 'Game cancelled.\n!avatar([email protected]) **foo** quit.', 0, bot, 'foo')
232+
'quit', 'Game cancelled.\n**foo** quit.', 0, bot, 'foo')
233233

234234
def test_user_already_in_game_errors(self) -> None:
235235
bot = self.setup_game()
@@ -313,14 +313,14 @@ def test_draw(self) -> None:
313313

314314
def test_normal_turns(self) -> None:
315315
bot = self.setup_game()
316-
self.verify_response('move 3', '**foo** moved in column 3\n\nfoo\n\n!avatar([email protected]) It\'s **baz**\'s (:red_circle:) turn.',
316+
self.verify_response('move 3', '**foo** moved in column 3\n\nfoo\n\nIt\'s **baz**\'s (:red_circle:) turn.',
317317
0, bot=bot, stream='test', subject='test game')
318-
self.verify_response('move 3', '**baz** moved in column 3\n\nfoo\n\n!avatar([email protected]) It\'s **foo**\'s (:blue_circle:) turn.',
318+
self.verify_response('move 3', '**baz** moved in column 3\n\nfoo\n\nIt\'s **foo**\'s (:blue_circle:) turn.',
319319
0, bot=bot, stream='test', subject='test game', user_name='baz')
320320

321321
def test_wrong_turn(self) -> None:
322322
bot = self.setup_game()
323-
self.verify_response('move 5', '!avatar([email protected]) It\'s **foo**\'s (:blue_circle:) turn.', 0,
323+
self.verify_response('move 5', 'It\'s **foo**\'s (:blue_circle:) turn.', 0,
324324
bot=bot, stream='test', subject='test game', user_name='baz')
325325

326326
def test_private_message_error(self) -> None:
@@ -390,7 +390,7 @@ def test_game_over_and_leaderboard(self) -> None:
390390
bot = self.setup_game()
391391
bot.put_user_cache()
392392
with patch('zulip_bots.bots.game_handler_bot.game_handler_bot.MockModel.determine_game_over', return_value='[email protected]'):
393-
self.verify_response('move 3', '!avatar([email protected]) **foo** won! :tada:',
393+
self.verify_response('move 3', '**foo** won! :tada:',
394394
1, bot=bot, stream='test', subject='test game')
395395
leaderboard = '**Most wins**\n\n\
396396
Player | Games Won | Games Drawn | Games Lost | Total Games\n\
@@ -403,12 +403,12 @@ def test_game_over_and_leaderboard(self) -> None:
403403
def test_current_turn_winner(self) -> None:
404404
bot = self.setup_game()
405405
with patch('zulip_bots.bots.game_handler_bot.game_handler_bot.MockModel.determine_game_over', return_value='current turn'):
406-
self.verify_response('move 3', '!avatar([email protected]) **foo** won! :tada:',
406+
self.verify_response('move 3', '**foo** won! :tada:',
407407
1, bot=bot, stream='test', subject='test game')
408408

409409
def test_computer_turn(self) -> None:
410410
bot = self.setup_computer_game()
411-
self.verify_response('move 3', '**foo** moved in column 3\n\nfoo\n\n!avatar([email protected]) It\'s **test-bot**\'s (:red_circle:) turn.',
411+
self.verify_response('move 3', '**foo** moved in column 3\n\nfoo\n\nIt\'s **test-bot**\'s (:red_circle:) turn.',
412412
0, bot=bot, stream='test', subject='test game')
413413
with patch('zulip_bots.bots.game_handler_bot.game_handler_bot.MockModel.determine_game_over', return_value='[email protected]'):
414414
self.verify_response('move 5', 'I won! Well Played!',
@@ -462,7 +462,6 @@ def test_get_game_info(self) -> None:
462462
def test_parse_message(self) -> None:
463463
bot = self.setup_game()
464464
self.verify_response('move 3', 'Join your game using the link below!\n\n> **Game `abc123`**\n\
465-
> !avatar([email protected])\n\
466465
> foo test game\n\
467466
> 2/2 players\n\
468467
> **[Join Game](/#narrow/stream/test/topic/test game)**', 0, bot=bot)
@@ -471,7 +470,6 @@ def test_parse_message(self) -> None:
471470
To move subjects, send your message again, otherwise join the game using the link below.
472471
473472
> **Game `abc123`**
474-
475473
> foo test game
476474
> 2/2 players
477475
> **[Join Game](/#narrow/stream/test/topic/test game)**''', 0, bot=bot, stream='test 2', subject='game 2')
@@ -485,7 +483,6 @@ def test_change_game_subject(self) -> None:
485483
To move subjects, send your message again, otherwise join the game using the link below.
486484
487485
> **Game `abcdefg`**
488-
489486
> foo test game
490487
> 2/2 players
491488
> **[Join Game](/#narrow/stream/test2/topic/test game 2)**''', 0, bot=bot, user_name='bar', stream='test game', subject='test2')

zulip_bots/zulip_bots/game_handler.py

+9-21
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,9 @@ def play_with_computer_help(self) -> str:
139139

140140
def alert_new_invitation(self, game_id: str) -> str:
141141
# Since the first player invites, the challenger is always the first player
142-
return '**' + self.get_host(game_id) + ' has invited you to play a game of ' + self.game_name + '.**\n' +\
142+
player_email = self.get_players(game_id)[0]
143+
sender_name = self.get_username_by_email(player_email)
144+
return '**' + sender_name + ' has invited you to play a game of ' + self.game_name + '.**\n' +\
143145
self.get_formatted_game_object(game_id) + '\n\n' +\
144146
'Type ```accept``` to accept the game invitation\n' +\
145147
'Type ```decline``` to decline the game invitation.'
@@ -381,9 +383,8 @@ def command_quit(self, message: Dict[str, Any], sender: str, content: str) -> No
381383
if game_id == '':
382384
self.send_reply(
383385
message, 'You are not in a game. Type `help` for all commands.')
384-
sender_avatar = "!avatar({})".format(sender)
385386
sender_name = self.get_username_by_email(sender)
386-
self.cancel_game(game_id, reason='{} **{}** quit.'.format(sender_avatar, sender_name))
387+
self.cancel_game(game_id, reason='**{}** quit.'.format(sender_name))
387388

388389
def command_join(self, message: Dict[str, Any], sender: str, content: str) -> None:
389390
if not self.is_user_not_player(sender, message):
@@ -485,8 +486,7 @@ def start_game(self, game_id: str) -> None:
485486
def get_formatted_game_object(self, game_id: str) -> str:
486487
object = '''> **Game `{}`**
487488
> {}
488-
> {}
489-
> {}/{} players'''.format(game_id, self.get_host(game_id), self.game_name, self.get_number_of_players(game_id), self.max_players)
489+
> {}/{} players'''.format(game_id, self.game_name, self.get_number_of_players(game_id), self.max_players)
490490
if game_id in self.instances.keys():
491491
instance = self.instances[game_id]
492492
if not self.is_single_player:
@@ -554,11 +554,6 @@ def get_number_of_players(self, game_id: str) -> int:
554554
num = len(self.get_players(game_id))
555555
return num
556556

557-
def get_host(self, game_id: str) -> str:
558-
player_email = self.get_players(game_id)[0]
559-
player_avatar = "!avatar({})".format(player_email)
560-
return player_avatar
561-
562557
def parse_message(self, message: Dict[str, Any]) -> None:
563558
game_id = self.is_user_in_game(message['sender_email'])
564559
game = self.get_game_info(game_id)
@@ -825,9 +820,7 @@ def handle_message(self, content: str, player_email: str) -> None:
825820
if self.gameAdapter.is_single_player:
826821
self.broadcast('It\'s your turn')
827822
else:
828-
user_turn_avatar = "!avatar({})".format(self.players[self.turn])
829-
self.broadcast('{} It\'s **{}**\'s ({}) turn.'.format(
830-
user_turn_avatar,
823+
self.broadcast('It\'s **{}**\'s ({}) turn.'.format(
831824
self.gameAdapter.get_username_by_email(
832825
self.players[self.turn]),
833826
self.gameAdapter.gameMessageHandler.get_player_color(self.turn)))
@@ -889,9 +882,7 @@ def same_player_turn(self, content: str, message: str, is_computer: bool) -> Non
889882
game_over = self.players[self.turn]
890883
self.end_game(game_over)
891884
return
892-
user_turn_avatar = "!avatar({})".format(self.players[self.turn])
893-
self.current_messages.append('{} It\'s **{}**\'s ({}) turn.'.format(
894-
user_turn_avatar,
885+
self.current_messages.append('It\'s **{}**\'s ({}) turn.'.format(
895886
self.gameAdapter.get_username_by_email(self.players[self.turn]),
896887
self.gameAdapter.gameMessageHandler.get_player_color(self.turn)
897888
))
@@ -906,9 +897,7 @@ def next_turn(self) -> None:
906897
if self.gameAdapter.is_single_player:
907898
self.current_messages.append('It\'s your turn.')
908899
else:
909-
user_turn_avatar = "!avatar({})".format(self.players[self.turn])
910-
self.current_messages.append('{} It\'s **{}**\'s ({}) turn.'.format(
911-
user_turn_avatar,
900+
self.current_messages.append('It\'s **{}**\'s ({}) turn.'.format(
912901
self.gameAdapter.get_username_by_email(self.players[self.turn]),
913902
self.gameAdapter.gameMessageHandler.get_player_color(self.turn)
914903
))
@@ -931,9 +920,8 @@ def end_game(self, winner: str) -> None:
931920
elif winner.startswith('except:'):
932921
loser = winner.lstrip('except:')
933922
else:
934-
winner_avatar = "!avatar({})".format(winner)
935923
winner_name = self.gameAdapter.get_username_by_email(winner)
936-
self.broadcast('{} **{}** won! :tada:'.format(winner_avatar, winner_name))
924+
self.broadcast('**{}** won! :tada:'.format(winner_name))
937925
for u in self.players:
938926
values = {'total_games': 1, 'games_won': 0,
939927
'games_lost': 0, 'games_drawn': 0}

0 commit comments

Comments
 (0)