当前位置: 首页 > 知识库问答 >
问题:

不和谐Python重写-自定义服务器前缀错误

雍阳
2023-03-14

我试过这些代码

def get_prefix(client, message):
with open('prefixes.json', 'r') as f:
    prefixes = json.load(float)

    return prefixes[str(message.guild.id)]

client = commands.Bot(command_prefix = get_prefix)

@client.event
async def on_guild_join(guild):
    with open('prefixes.json', 'r') as f:
        prefixes = json.load(float)

    prefixes[str(guild.id)] = ','

    with open('prefixes.json', 'w') as f:
        json.dump(prefixes, float, indent=4)

@client.event
async def on_guild_remove(guild):
    with open('prefixes.json', 'r') as f:
        prefixes = json.load(f)

    prefixes.pop(str(guild.id))

    with open('prefixes.json', 'w') as float:
        json.dump(prefixes, float, indent=4)

@client.command()
@commands.has_permissions(manage_channels=True)
async def prefix(ctx, prefix):
    with open('prefixes.json', 'r') as f:
        prefixes = json.load(f)

    prefixes[str(ctx.guild.id)] = prefix

    with open('prefixes.json', 'w') as f:
        json.dump(prefixes, f, indent=4)

    await ctx.send(f'Prefix changed succesfully, now my prefix for this server is: "{prefix}"')

我有这些情欲

忽略on_消息回溯中的异常(最近的上次调用):文件“C:\Users\PC\AppData\Local\Programs\Python\Python38\lib\site packages\discord\client.py”,

请帮忙,几周前它还在工作。

共有3个答案

司空俊雄
2023-03-14
def get_prefix(client, message):
    with open('./database/prefixes.json', 'r') as f:
        prefixes = json.load(f)
    return prefixes[str(message.guild.id)]

你没有写f,而是正确地加载了浮动,并检查json文件中的服务器ID是否尝试手动编辑它或踢机器人并再次邀请它

卫俊力
2023-03-14

好啊首先,您正在运行json。负载(浮动)。Float是一个函数,而不是文件。我编辑了您发布的代码,请尝试使用以下方法:

def get_prefix(client, message):
with open('prefixes.json', 'r') as f:
    prefixes = json.load(f)

    return prefixes[str(message.guild.id)]

client = commands.Bot(command_prefix = get_prefix)

@client.event
async def on_guild_join(guild):
    with open('prefixes.json', 'r') as f:
        prefixes = json.load(f)

    prefixes[str(guild.id)] = ','

    with open('prefixes.json', 'w') as f:
        json.dump(prefixes, f, indent=4)

@client.event
async def on_guild_remove(guild):
    with open('prefixes.json', 'r') as f:
        prefixes = json.load(f)

    prefixes.pop(str(guild.id))

    with open('prefixes.json', 'w') as f:
        json.dump(prefixes, f, indent=4)

@client.command()
@commands.has_permissions(manage_channels=True)
async def prefix(ctx, prefix):
    with open('prefixes.json', 'r') as f:
        prefixes = json.load(f)

    prefixes[str(ctx.guild.id)] = prefix

    with open('prefixes.json', 'w') as f:
        json.dump(prefixes, f, indent=4)

    await ctx.send(f'Prefix changed successfully, now my prefix for this server is: "{prefix}"')

(我也修复了一些拼写错误在您的消息)

如果这仍然给你错误,踢机器人和重新邀请。那就行了。

郎欣然
2023-03-14

服务器ID不在JSON文件中

手动添加或从服务器上踢机器人并重新邀请它

 类似资料:
  • 我试图让我的自我机器人加入服务器。我知道self-bots反对discordtos,但我想学习一些新的东西。 这是我尝试过的命令: 错误:

  • 问题内容: 是否可以在JPA / Hibernate中覆盖表名称,以便为所有项目实体添加通用前缀?例如,能够通过“ JBPM5_”前缀为所有JBPM 5表添加前缀。 可接受答案的示例: 问题答案: 一次重命名所有表的一种方法是实现自己的namingStrategy(的实现)。 使用的NamingStrategy在persistence.xml中由

  • 我正试图做出一个依靠反应的帮助,我得到了这个代码 但它不工作,我得到一个错误。 错误是: 上述例外是以下例外的直接原因: Traceback(最近一次调用最后):文件"C:\用户\PC\AppData\本地\程序\Python\Python38-32\lib\site-包\discord\client.py",第312行,在_run_event等待coro(*args,**kwargs)文件"C:

  • 但是我需要添加另一个特性--我需要启用前缀过滤器。例如:当我搜索test_table(10个字符)时,我能够得到结果,因为最大n-gram是10,但是当我尝试test_table_for时,它返回零结果,因为记录没有这个标记。 我怎样才能添加一个基于前缀的过滤器也为现有的n-gram分析器?就像我应该能够得到匹配的结果最多10个字符时搜索(目前工作),而且我应该能够建议什么时候搜索字符串匹配记录从

  • 这是我的不和谐自我机器人代码。它将首先检查令牌是否有效,如果有效,它将登录到该令牌。根据client.event()on_ready,登录后不会发生任何事情(应该打印状态:在线)。我想我的小命令也坏了请帮忙。

  • Appium 的 iOS 版本的后端用的是Facebook's WebDriverAgent。该后端是基于苹果公司的 XCTest 框架,所以也有所有XCTest 框架已知的问题。其中有些问题我们正在设法解决,有一些在现阶段可能无法解决。本文中描述的方法已经能够使您完全掌握在设备上如何构建、管理和运行WDA。通过这种方式,您可以在CI环境中对您的自动化测试进行微调,并使其在长期运行的情况下更加稳定