我正在制作一个具有加入离开消息的机器人,但是我需要对其进行设置,以便用户可以发送指定他们希望将消息发布到的通道。
示例: 用户:.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。
答案 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。