在我的不和谐机器人中,我有2个命令来赋予和创建角色。它们工作得很好,但是如果角色名称包含空格,那么我有问题。它将第二个单词计入第二个参数,使命令产生错误。
# Giverole
@client.command(name='giverole',
aliases=['gr'],
brief='Assgins role to a user',
pass_ctx=True)
async def giverole(ctx, rname, *, member: discord.Member):
role = get(member.guild.roles, name=rname)
await member.add_roles(role)
await ctx.send(f'Role added to user {member.mention}')
print('Giverole command executed\n- - -')
# Createrole
@client.command(name='createrole',
brief='Creates a role',
aliases=['cr','makerole'],
pass_ctx=True)
async def createrole(ctx, rname: str, clr: discord.Colour):
if ctx.author.guild_permissions.manage_roles:
await ctx.guild.create_role(name=rname, colour=clr)
await ctx.send('Role created with name: ' + rname)
print('Createrole command executed\n- - -')
else:
await ctx.send('You lack permission.')
print('Createrole command executed\n- - -')
理想情况下,我应该能够执行类似的操作k!giverole Bot Tester @user
,但会收到“无效用户”错误。我有什么办法可以在角色名称中支持空格?提前致谢!
您有几种选择:
使用角色转换器并要求提及角色:
async def giverole(ctx, role: discord.Role, member: discord.Member):
要求角色用引号引起来:
k!giverole "Bot Tester" @user
切换两个参数的位置,以使转换后的用户最先出现,而可能使用空格的名称作为仅关键字参数。
async def giverole(ctx, member: discord.Member, *, rname):
我建议使用第一个选项,但是您可能还想尝试其他选项,以查看您更喜欢哪个选项。
我只是想知道我是否有可能返回activePodcastViewData。每当我试图在GlobalScopeactivePodcastViewData.Without调用它时,我都不允许返回,我确实让一切正常工作fine.However我更新了我的存储库,将挂起方法添加到it.Hence我正在获取挂起函数应该只从协程或另一个挂起函数调用。 fun getPodcast(podcastSummaryV
我正在尝试创建一个通用的绑定文件,在多个项目中从WSDLs/XSD生成一致的Java类。我们通过(由@lexicore制作)生成代码。 问题在于多项目部分。如果特定的绑定指令与提供的XSD或WSDL中的任何内容都不匹配,则类生成失败 对“
问题内容: 有没有办法在Java中嵌入浏览器? 问题答案: http://docs.oracle.com/javafx/2.0/webview/jfxpub-webview.htm
问题内容: 我想知道是否有可能以编程方式发现特定API的所有端点。 因此,例如,如果我使用浏览器或curl获取此URL:https : //api.twitter.com/1.1/ 我可能会收到类似以下内容的JSON响应: 当然,Twitter可以选择发布还是不发布这种格式。因此,作为一个附带问题,是否有任何Java或Java库可以自动映射和发布您在控制器中创建的API路由? 问题答案: 由于没有
问题内容: 由于某些性能原因,我试图找到一种仅选择所选节点中同级节点的方法。例如, 如果选择了inner1节点,是否可以访问其兄弟节点? 问题答案: 好吧…确定…先拜访父母,再拜访孩子。 或者…使用jQuery: 编辑:Cletus一如既往地鼓舞人心。 我进一步挖掘。这就是jQuery本质上如何获得兄弟姐妹的方式:
我正在开发一个反应原生应用程序并使用Firebase fiRecovery作为集中式数据库。在将用户数据放在firest之前,我正在使用crypto js加密数据。现在我想在数据库中搜索,问题是数据已加密,当我再次尝试加密相同的数据时,crypto js会创建不同的加密数据。有没有可能在Firebase中搜索加密数据,而无需在移动应用程序中加载数据然后解密它?