Exemplo n.º 1
0
 def show_dice(cls, dice):
     d1 = cls.dice[dice.values[0]]
     d2 = cls.dice[dice.values[1]]
     s = ""
     for d1_row, d2_row in zip(d1, d2):
         s += f'   {d1_row}   {d2_row}\n'
     return T.mono(s)
Exemplo n.º 2
0
 async def leave(self, member: Member, channel: TextChannel):
     table, delegate = await self.allowed_channel(channel)
     player = table.player_for(member.id)
     if not player:
         return await channel.send(f'{member.name} not seated at a table!')
     unseated = table.unseat(player.id)
     summary = T.mono('  ' + str(unseated))
     await channel.send(f'{member.name} left table\n{summary}')
Exemplo n.º 3
0
 async def notify_cleared_players(
     self,
     cleared
 ):
     cleared_str = T.mono("\n".join([str(p) for p in cleared]))
     await self.display_channel.send(
         f'Clearing players due to inactivity. Place '
         f'a bet at any time to rejoin. Cleared: \n{cleared_str}'
     )
     await asyncio.sleep(1.5)
Exemplo n.º 4
0
 async def show(
     self,
     bot,
     payouts,
     table,
     dice,
     outcome,
     channel
 ):
     by_player = {}
     payouts_exist = False
     for p in payouts:
         if p.player_id not in by_player:
             by_player[p.player_id] = []
         by_player[p.player_id].append(p)
     s = ""
     for seat in table.seats:
         if seat.empty:
             continue
         player = seat.player
         payouts = by_player.get(player.id)
         if not payouts:
             continue
         s += f'  \n\n{player}\n    '
         s += '\n    '.join([str(po) for po in payouts])
         payouts_exist = True
     if s:
         s = T.mono("PAYOUTS / LOSSES" + s)
     outcome = T.bold(f"ROLLED {dice.total}: ") + outcome.value
     await channel.send(outcome + s)
     sleep = 4.0
     if bot.TEST_MODE:
         sleep = 1.0
     if payouts_exist:
         await channel.trigger_typing()
         await asyncio.sleep(sleep)
Exemplo n.º 5
0
 def empty(cls):
     return T.mono('\n'.join(cls.table))