discord.py-message-components
discord.py-message-components copied to clipboard
[Bug]: Fails to Create Forum Channel
Description
I am not able to create a forum channel. Here is my code:
GUILD_ID = 0
CATEGORY_ID = 0
guild: discord.Guild = bot.get_guild(GUILD_ID)
category: discord.CategoryChannel = bot.get_channel(CATEGORY_ID)
await guild.create_forum_channel(name='Test', category=category)
```
### Branch used
developer
### The Python version you are using.
Python 3.10
### What version (and release) of the library are you using
2.0a643+g33f5246
### System info
Windows 11
### Full Traceback (Error)
```shell
Traceback (most recent call last):
File "C:\Users\hp\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 454, in _run_event
await coro(*args, **kwargs)
File "d:\Bots\illegalshirts\main.py", line 27, in on_ready
await guild.create_forum_channel(name='Test', category=category)
File "C:\Users\hp\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\guild.py", line 1632, in create_forum_channel
data = await self._create_channel(
File "C:\Users\hp\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\guild.py", line 1359, in _create_channel
raise InvalidArgument(
discord.errors.InvalidArgument: None is not a valid default_auto_archive_duration
Contact info
No response
Just to ask, why are you using bot.get_channel if you got the guild? Just use guild.get_channel (it's much faster)🙈
Oh
Didn't knew guild.get_channel is faster than bot.get_channel
Didn't knew guild.get_channel is faster than bot.get_channel
Of course it is
bot.get_channel -> https://github.com/mccoderpy/discord.py-message-components/blob/33f5246005e056a1e44310ce69ec564a03e9368d/discord/state.py#L1501-L1515
Btw. you just need to provide an default_auto_archive_duration (which should be 7 or 3 days). Then it works.
guild: discord.Guild = bot.get_guild(GUILD_ID) category: discord.CategoryChannel = bot.get_channel(CATEGORY_ID) await guild.create_forum_channel(name='Test', category=category)
By default it is None, it should work with default value also
guild: discord.Guild = bot.get_guild(GUILD_ID) category: discord.CategoryChannel = bot.get_channel(CATEGORY_ID) await guild.create_forum_channel(name='Test', category=category)By default it is None, it should work with default value also
Yea the check is wrong. It should just drop the field if it is None, as every field except name is nullable for the guild channel endpoint.
Hi bro, do we have a new server for this library?
Hi bro, do we have a new server for this library?
In theory yes...