- "Advaith" mentioned
- "AI" mentioned
- "AIX" mentioned
- "!report"
- "!support"
- "CV2"
- "DAVE" mentioned
- "Do mods here get paid?"
- "How to remove x badge"
- "MLS" mentioned
The following approach is needed because Discord has effectively abandoned the voice status feature.
It is not documented in the official Discord API documentation, which means it is considered unstable and may change at any time without notice.
That level of uncertainty is not ideal for a library like discord.py. The behavior described below is not necessarily undocumented or explicitly discouraged, but you are largely on your own. You are working directly with the raw data that the Discord API sends to the library, before it is parsed or exposed through any higher-level abstractions.
For more information or questions about this approach, you can ask in the discord.py server.
Also see discord/discord-api-docs#6398
- (Forum) posts are threads in forum channels.
- Threads can be created per message or per channel.
- Only channel threads can be private.
- For message and forum threads, the thread's ID matches the starter message's ID.
- You can lock threads so only users with the right permissions can send messages.
- Threads can be archived, which removes them from the channel list. This also happens automatically after a period of inactivity.
- You can set how long a thread stays active before auto-archiving with
auto_archive_duration. - Get the archive time with
archive_timestamp.
- You can set how long a thread stays active before auto-archiving with
- automod commands (https://github.com/demoutrei/discord-autobot)
- channel commands
- name
- topic
- thread name (https://github.com/demoutrei/discord-commands)
- overwrites
- invite
- typing event
- user commands
- nickname
| from __future__ import annotations | |
| import datetime | |
| from typing import Any, Literal, Self, overload | |
| import discord | |
| type ValidMediaType = ( | |
| str | |
| | Media | |
| | discord.MediaGalleryItem |
Looking for a non-cv2 paginator? Go to https://gist.github.com/Soheab/f226fc06a3468af01ea3168c95b30af8
- Give this gist a ⭐️ :P
- Copy and paste the contents above into a file like
utils/paginator.py - Import
ButtonPaginatorand subclass it or use it directly anywhere.
Looking to paginate with v2 components like a Container? Go to https://gist.github.com/Soheab/891c39d7294b1bdbadc7ecf35ce51cc5
- Copypaste the contents above into a file like
utils/paginator.py - Import
ButtonPaginatorand subclass it or use it directly anywhere.
ButtonPaginator has a couple of arguments.
| # for testing: | |
| # import collections | |
| # emoji = collections.namedtuple("emo", ["animated"])(False) | |
| emoji = ... # some (Partial)Emoji object | |
| guild = ... # some Guild object | |
| emojis = guild.emojis | |
| total = len(guild.emojis) | |
| limit = guild.emoji_limit | |
| animated = sum(1 for e in emojis if e.animated) |
The hyperlinks are either links to a gist or discord message in the discord.py server
- [2021-04-04]
- Danny starts development of discord.py 2.0
- [2021-08-28]
- Danny stops dpy development
- [2022-03-06]
- Danny starts dpy development again, after announcement of v10
- [2022-03-14]
- Danny reworks async stuff, breaking changes for all!