discord.py中的子命令?

时间:2020-04-03 02:49:55

标签: discord discord.py

我正在为不和谐的服务器编写一个简单的机器人,并且尝试探索一些不同的想法,其中两个需要某种响应以及基于响应的子命令。我希望人们能够通过不响应机器人帖子来轮询某事。我不确定该如何处理。

我举一个例子。

理想情况下,它可以像这样构造。

[启动轮询命令] [轮询名称]

然后做出响应,用户可以执行以下操作:

[投票名称] [是/否]

或者以伪代码示例为例:

!start_poll Lets_do_this

!lets_do_this是

然后,如果它满足某个确定的“是”的阈值,则将执行一个子命令。

1 个答案:

答案 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,因为这对于他们来说是唯一的,可以更改其名称。