Discrd.py python 3.6用户请求加入离开频道

时间:2020-06-24 22:38:23

标签: discord python-3.6 discord.py

我正在制作一个具有加入离开消息的机器人,但是我需要对其进行设置,以便用户可以发送指定他们希望将消息发布到的通道。

示例: 用户:.joinleave Bot:请发送您要发送加入离开消息的频道ID。 用户:[Channel-ID] Bot:谢谢!加入离开的消息将发布在[Channel-ID]

到目前为止我所拥有的:

select 
'Atlas,WARM_HF,hotfix,web2020janHF,HFDD20200203300PM'
  where 'Atlas,WARM_HF,hotfix,web2020janHF,HFDD20200203300PM' like substring('''%HFDD%''',1,17)

我想我会执行一个名为“ .joinleave”的命令,这就是他们输入通道ID的地方。我只是不知道如何保存来自多个服务器的信息,而每个服务器的信息却有所不同。然后将其传递给@ client.event。

1 个答案:

答案 0 :(得分:0)

您需要一个全局dictionary变量,该变量使用服务器ID作为键,并使用通道ID作为值。问题是将其保存到storage。我对此有两种解决方法。

一个文件

制作一个名为server_channels.txt或类似名称的文件,并且每个服务器都有一行。首先,它将显示服务器ID,然后显示通道ID。看起来像这样:

[server id 1] [channel id 1] # just replace each of these
[server id 2] [channel id 2]
...

每当机器人启动时,您都需要解析此文件并将其放入字典中。每当字典有更新时,您还需要更新文件。

多个文件

创建一个名为server_channels的目录,而不是读取整个文件。它将包含每个服务器的文件。该文件的名称是服务器ID,该文件将包含通道ID。