def open_next_pack(draft_id, player): pack = DRAFTS[draft_id]['players'][player]['inbox'][0] card_blocks = [blocks.divider()] for card in pack: card_text = templates.format(card) button_value = '--'.join([draft_id, player, card['code']]) pick_block = blocks.text_with_button(card_text, card['title'], button_value) card_blocks.append(pick_block) card_blocks.append(blocks.divider()) client.chat_postMessage(channel=get_player_dm_id(player), text='Here is your next pack.') client.chat_postMessage(channel=get_player_dm_id(player), blocks=card_blocks) DRAFTS[draft_id]['players'][player]['has_open_pack'] = True
async def send_card(player_id,card): card_text = templates.format(card) embedded_card = discord.Embed(title=card['title']) embedded_card.description = card_text embedded_card.add_field(name='To pick this card:',value='```!pick {code}```'.format(code=card['code'])) if 'image_url' in card: embedded_card.set_image(url=card['image_url']) else: embedded_card.set_image(url=NRDB_IMAGE.format(code=card['code'])) await send_dm( player_id=player_id, content="Card", embed=embedded_card )
def open_new_pack(draft_id): """ Sends first set of picks to players. After this the pack-sending logic is entirely event-driven. """ for player in get_players(draft_id): pack = DRAFTS[draft_id]['players'][player]['packs'].pop(0) DRAFTS[draft_id]['players'][player]['inbox'].append(pack) card_blocks = [blocks.divider()] for card in pack: card_text = templates.format(card) button_value = '--'.join([draft_id, player, card['code']]) pick_block = blocks.text_with_button(card_text, card['title'], button_value) card_blocks.append(pick_block) card_blocks.append(blocks.divider()) client.chat_postMessage(channel=get_player_dm_id(player), blocks=card_blocks) DRAFTS[draft_id]['players'][player]['has_open_pack'] = True