Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使一个bot在不同的服务器上工作并具有不同的前缀?_Python_Python 3.x_Discord.py - Fatal编程技术网

Python 如何使一个bot在不同的服务器上工作并具有不同的前缀?

Python 如何使一个bot在不同的服务器上工作并具有不同的前缀?,python,python-3.x,discord.py,Python,Python 3.x,Discord.py,如何使不同服务器上的一个bot具有不同的前缀 我们不能使用bot=commands.bot(命令前缀='!') 一个人说要使用JSON,但我不明白如何在一个.py文件中配置来自不同服务器的prefix的工作您可以通过创建一个方法来实现,该方法使用参数bot,消息 首先,创建一个json文件(或数据库)来存储带有公会ID的前缀 Json文件可以是这样的 { "123456789123456789": "!" } 现在是代码 import json def get_prefix(bot, mess

如何使不同服务器上的一个bot具有不同的前缀

我们不能使用
bot=commands.bot(命令前缀='!')


一个人说要使用JSON,但我不明白如何在一个
.py
文件中配置来自不同服务器的prefix的工作您可以通过创建一个方法来实现,该方法使用参数
bot
消息

首先,创建一个json文件(或数据库)来存储带有公会ID的前缀

Json文件可以是这样的

{ "123456789123456789": "!" }

现在是代码

import json

def get_prefix(bot, message):
  with open(file_path, "r") as f:
    prefixes = json.load(f)
  return prefixes[str(message.guild.id)] #returning prefix that registered with guild's id
最后,注册
Bot
对象的
command\u前缀
参数

bot = commands.Bot(command_prefix=get_prefix)

因此,结果是,我们将有某种前缀,但另一台服务器上的旧前缀将不适用于我们。