Right now the for loop that adds reactions at the end of the message takes number_of_responses
, which is what I want. But I would also like the e.add_field
fields be added based on number_of_responses
(along with the right emoji in the name
field and then add items from the list answers
to their value
s).
JavaScript
x
22
22
1
async def run_script(params):
2
params = params
3
channel = client.get_channel(<obfuscated>)
4
emoji_numbers = ["1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣"]
5
question = params[0] # string
6
answers = ast.literal_eval(params[1]) # list
7
number_of_responses = len(answers) # int
8
e = discord.Embed(title='Title', description='Desc.', color=discord.Color.blue())
9
e.add_field(name=question, value='u200b', inline=False)
10
e.add_field(name='1️⃣', value='Mobiel', inline=False)
11
e.add_field(name='2️⃣', value='Tablet', inline=False)
12
e.add_field(name='3️⃣', value='Laptop', inline=False)
13
e.add_field(name='4️⃣', value='Desktop', inline=False)
14
e.add_field(name='5️⃣', value='TV', inline=False)
15
message = await channel.send(embed=e)
16
for i in range(number_of_responses):
17
await message.add_reaction(emoji_numbers[i])
18
for i in range(4, -1, -1):
19
time.sleep(1)
20
await channel.send("Going to sleep now")
21
await client.close()
22
Advertisement
Answer
No need to loop over indices. Just zip
the answers
and the emoji_numbers
:
JavaScript
1
4
1
for emoji, answer in zip(emoji_numbers, answers):
2
e.add_field(name=emoji, value=answer, inline=False)
3
await message.add_reaction(emoji)
4