discord.py-message-components icon indicating copy to clipboard operation
discord.py-message-components copied to clipboard

[Bug]: Fails to Create Forum Channel

Open malikmajai opened this issue 1 year ago • 9 comments

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

malikmajai avatar Feb 10 '24 10:02 malikmajai

Just to ask, why are you using bot.get_channel if you got the guild? Just use guild.get_channel (it's much faster)🙈

mccoderpy avatar Feb 10 '24 10:02 mccoderpy

Oh

malikmajai avatar Feb 10 '24 10:02 malikmajai

Didn't knew guild.get_channel is faster than bot.get_channel

malikmajai avatar Feb 10 '24 10:02 malikmajai

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

mccoderpy avatar Feb 10 '24 10:02 mccoderpy

Btw. you just need to provide an default_auto_archive_duration (which should be 7 or 3 days). Then it works.

The-LukeZ avatar Feb 19 '24 10:02 The-LukeZ

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 image

malikmajai avatar Feb 19 '24 11:02 malikmajai

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 image

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.

mccoderpy avatar Feb 19 '24 12:02 mccoderpy

Hi bro, do we have a new server for this library?

malikmajai avatar May 04 '24 10:05 malikmajai

Hi bro, do we have a new server for this library?

In theory yes...

mccoderpy avatar May 05 '24 19:05 mccoderpy