【问题标题】:Taking away all of persons roles and giving them back after some time带走所有人的角色并在一段时间后将其归还
【发布时间】:2021-05-09 12:57:02
【问题描述】:

我正在尝试制作一个机器人,一旦发出命令,它就会带走一个人的角色,并在一定时间后将其归还。现在我得到了错误的意外缩进。

代码如下:

import discord
from discord.ext import commands
import ctx
import re
import time
from time import sleep
from discord.ext import rolelist, roles, role

class MyClient(discord.Client):

    async def on_ready(self):
       print('Logged on as', self.user)

    async def on_message(self, message):
        if message.author == self.user:
            return

        messageContent = message.content
        if len(messageContent) > 0:
            if re.search("^send.*court$", messageContent):
                user_id = message.mentions[0].id
                user = message.mentions[0]
                await message.channel.send(
                    f"sending <@{user_id}> to court!"
                )
                async def listroles(ctx):
                    user_roles = [role.mention for role in ctx.message.author.roles if role.mentionable]
                    await message.channel.send(user_roles)

                async def roles(ctx):
                    print(", ".join([str(r.id) for r in ctx.guild.roles]))

                role = discord.utils.get(message.guild.roles, name="Jail")
                await user.add_roles(role)

                    async def roles(user.roles):
                        rolelist = [r.mention for r in user.roles if r != ctx.guild.default_role]
                        roles = ", ".join(rolelist)

                        print(rolelist)


client = MyClient()
client.run('TOKEN_GOES_HERE')

【问题讨论】:

  • 您没有提供错误信息。
  • 错误是“意外缩进”

标签: python python-3.x discord discord.py


【解决方案1】:

Python 不像 C# 或 Java 那样使用 {},它适用于缩进。所以你的代码应该是这样的:

            await user.add_roles(role)

            async def get_roles(user):
                rolelist = [r.mention for r in user.roles if r != ctx.guild.default_role]
                roles = ", ".join(rolelist)

                print(rolelist)

【讨论】:

  • 我不知道为什么,但它说“user.roles”中有一个无效的语法错误。
猜你喜欢
  • 2021-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-13
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多