我正在为不和谐的服务器编写一个简单的机器人,并且尝试探索一些不同的想法,其中两个需要某种响应以及基于响应的子命令。我希望人们能够通过不响应机器人帖子来轮询某事。我不确定该如何处理。
我举一个例子。
理想情况下,它可以像这样构造。
[启动轮询命令] [轮询名称]
然后做出响应,用户可以执行以下操作:
[投票名称] [是/否]
或者以伪代码示例为例:
!start_poll Lets_do_this
!lets_do_this是
然后,如果它满足某个确定的“是”的阈值,则将执行一个子命令。
答案 0 :(得分:0)
我的想法是创建一个字典。每当有人开始轮询时,您都将在字典中添加两个键:“ [name] _yes”和“ [name] _no”。每个键都有一个空列表。然后,我将使用“!vote [poll] [yes / no]”之类的命令来简化编码,每当有人投票时,我都会将其不和谐ID添加到相应的列表中。但是,最好检查它们的名称是否已经在列表中。然后,如果您愿意,可以利用每个列表的大小来查看有多少人为每个列表投票。字典最终看起来像:
{
'lets_do_this_yes': ['Bob', 'Suzy'],
'lets_do_this_no': ['Dan'],
'lets_do_this_instead_yes': ['Dan','Joe'],
'lets_do_this_instead_no': ['Suzy']
}
注意:我还没有使用discord.py,但是我有使用Python和Discord.JS的经验
希望这对您有用。
编辑:上面的结果示例实际上并没有其Discord名称,而是其Discord ID,因为这对于他们来说是唯一的,可以更改其名称。