需要一个关于将播放器保存在列表 discord.py 机器人上的问题的想法

Posted

技术标签:

【中文标题】需要一个关于将播放器保存在列表 discord.py 机器人上的问题的想法【英文标题】:need an idea for a problem about saving player on a list discord.py bot 【发布时间】:2021-07-24 04:45:32 【问题描述】:

我制作了一个真心话大冒险机器人,它以 --start 命令开头,并获取已加入语音频道的所有玩家的列表,并随机提及其中一个。一切正常,但我只面临一个问题。问题是,当机器人将来自语音频道的所有玩家存储在服务器上并将其保存在一个空列表[]中时,当机器人在其他服务器中启动时,该服务器上玩家的名字也会保存在列表中,因此它会提到玩家来自其他服务器。

例如。 bot 在名为 x 的服务器中启动:playerlist[a,b,c]

同时机器人在服务器名称 y 中启动:playerlist[a,b,c,d,e,f] 它实际上应该是 y 服务器中的 playerlist[d,e,f]

谁能告诉我如何处理这个问题?

【问题讨论】:

【参考方案1】:

你可以像这样使用字典:


  server1_id: [
    user1,
    user2,
    user3,
    ...
  ],
  ...

【讨论】:

我可以使用 rand 在值中随机使用其中一个用户吗? @SAMANMOKHTARI 是的,只要确保从字典中选择正确的列表:choice(myDict[server1_id]),而不是 choice(myDict)。如果有帮助,记得点赞并接受我的回答。 :)

以上是关于需要一个关于将播放器保存在列表 discord.py 机器人上的问题的想法的主要内容,如果未能解决你的问题,请参考以下文章

如何将 MPMediaItemCollection 保存到数据库?

手把手教你做音乐播放器音乐列表的存储(上)

抖音里已经保存下来的视频怎么查找到视频链接?

跨会话持久保存 iPod 播放列表 (MPMediaItemCollection) 的最佳实践

从 MediaBrowserService 获取正在播放的项目

将视频添加到 YouTube 上用户的“稍后观看”播放列表