How to create multiple roles through discord.py bot?

2024/10/5 22:21:52

I have been trying to make my discord bot create multiple roles through a command. But it simply doesn't work. Here is what I have done so far:

@commands.command()async def create_roles(self, ctx):guild = self.client.get_guild(783547639944839178)channel = self.client.get_channel(809683610058752010)await guild.create_role(name="red", color=discord.Color.value('F51720'))await guild.create_role(name="skyblue", color=discord.Colour.value('11A7BB'))await guild.create_role(name="yellow", color=discord.Colour.value('F8D210'))await channel.send("Done.")

When I run this code I get this error:

Ignoring exception in command create_roles:
Traceback (most recent call last):File "C:\Users\wave computer\PycharmProjects\pythonProject\venv\lib\site-packages\discord\ext\commands\core.py", line 85, in wrappedret = await coro(*args, **kwargs)File "C:\Users\wave computer\PycharmProjects\pythonProject\cogs\roles.py", line 14, in create_rolesawait guild.create_role(name="red", colour=discord.Colour.value('F51720'))
TypeError: 'member_descriptor' object is not callableThe above exception was the direct cause of the following exception:Traceback (most recent call last):File "C:\Users\wave computer\PycharmProjects\pythonProject\venv\lib\site-packages\discord\ext\commands\bot.py", line 902, in invokeawait ctx.command.invoke(ctx)File "C:\Users\wave computer\PycharmProjects\pythonProject\venv\lib\site-packages\discord\ext\commands\core.py", line 864, in invokeawait injected(*ctx.args, **ctx.kwargs)File "C:\Users\wave computer\PycharmProjects\pythonProject\venv\lib\site-packages\discord\ext\commands\core.py", line 94, in wrappedraise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: 'member_descriptor' object is not callable

Any help would be appreciated!

Answer

I am a bit late, but here is the solution. You used discord.Color.value a bit wrong. For the colors you can use either a HEX or RGB code. For a RGB code Discord has this function: discord.Color.from_rgb() and for a hex code you can simply define the color, for example: customred = FF0000. For your code I took once the RGB variant:

@commands.command()
async def create_roles(self, ctx):guild = self.client.get_guild(GuildID)channel = self.client.get_channel(ChannelID)await guild.create_role(name="red", color=discord.Color.from_rgb(245, 23, 32))await guild.create_role(name="skyblue", color=discord.Color.from_rgb(17, 167, 187))await guild.create_role(name="yellow", color=discord.Colour.from_rgb(248, 210, 16))await ctx.send("Done.")

You can of course define the color beforehand - cred = discord.Colour.from_rgb(248, 210, 16)) - and then use only cred as color:

await guild.create_role(name="red", color=cred)
https://en.xdnf.cn/q/119015.html

Related Q&A

python: how do i know when i am on the last for cycle

for i in range(len(results_histogram)):if i!=len(results_histogram)-1:url+=str(results_histogram[i])+,my if statement is checking whether i am on the last loop, but it is not working. what am i doing w…

scrape text in python from https://brainly.co.id/tugas/148

scrape "Jawaban terverifikasi ahli" in green box from the url https://brainly.co.id/tugas/148, possibly the color of green tick icon to the left of it also(tag <use xlink:href="#icon-…

Percentage of how similar strings are in Python? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic…

A Python dictionary with repeated fields

Im constructing a dictionary with Python to use with a SOAP API.My SOAP API takes an input like this:<dataArray><AccountingYearData><Handle><Year>string</Year></Handle&…

psexec run python script passed from host

I am trying to run a python script on a remote computer via psexec. I am able to connect and run python.exe with the following:C:\test>psexec \\192.168.X.X -u domain\administrator -p password -i C:…

TypeError: main() missing 1 required positional argument: self

My code and error is below and I was trying to understand why I am getting the error and how to fix it. I tried this without self and got another error TypeError: load_data() takes 0 positional argumen…

Python not calling external program

I am having problems with a python program that I wrote. It is actually plpython3u. I am running the program as a Trigger from postgres. I am pretty sure the trigger part works. My test python prog…

Selenium: How do I retry browser/URL when ValueError(No tables found)

I have a code that scrapes oddsportal website. Sometimes while scraping, I get ValueError("No tables found") and when I manually refresh browser, page loads. How do I do it via code? My code…

For loop for web scraping in python

I have a small project working on web-scraping Google search with a list of keywords. I have built a nested For loop for scraping the search results. The problem is that a for loop for searching keywor…

operation on a variable inside a class in python

Im new with oop and python. Ive been trying to do a simple thing: there is class called Foo(),it contains a variable called x which is initially set to zero.>>>a = Foo() >>>a.x >&g…