Input resolution - SinisterRectus/Discordia GitHub Wiki
For convenience, some Discordia methods accept more than one type of input. For example, a method that strictly requires a user ID may also accept a user object, since a user object can be directly resolved into a user ID.
This page details the resolveable types in Discordia. For example, if a method calls for a "User ID Resolveable", then any type listed for "User ID" may be used.
Integer
Due to Luvit/LuaJIT's lack of native 64-bit integers, integers are resolved as strings in Discordia. If you wish to input the purest type where ever an integer is accepted, usually a Discord Snowflake ID, use a Lua string.
- Lua string via
tonumber(str) and str or nil
- Lua number via
string.format('%i', num)
- LuaJIT int64_t or uint64_t via
tostring(int):match('%d*')
- Date via
Date:toSnowflake()
User ID
- User object via
User.id
- Member object via
Member.user.id
- Message object via
Message.author.id
- Guild object via
Guild.ownerId
- Integer
Message ID
- Message object via
Message.id
- Integer
Channel ID
- Channel object via
Channel.id
- Integer
Role ID
- Role object via
Role.id
- Integer
Emoji ID
- Emoji object via
Emoji.id
- Integer
Sticker ID
- Sticker object via
Sticker.id
- Integer
Guild ID
- Guild object via
Guild.id
- Integer
Entry ID
- AuditLogEntry object via
Entry.id
- Integer
Message IDs
- Iterable of Message ID resolveables
- Lua table of Message ID resolveables
Role IDs
- Iterable of Role ID resolveables
- Lua table of Role ID resolveables
Emoji
- Emoji object via
Emoji.hash
- Reaction object via
Reaction.emojiHash
- Lua string, where the string is a unicode emoji or of the form
"{Emoji.name}:{Emoji.id}"
Sticker
- Sticker object via
Sticker.hash
- Lua string, TODO: what string exactly?
Color
- Color object via
Color.value
- Lua number via
tonumber(obj)
Permissions
- Permissions object via
Permissions.value
- Lua number via
tonumber(obj)
Permission
- Lua string equivalent to the name of a Discordia permissions enumeration
- Lua number equivalent to the value of a Discordia permissions enumeration
Intents
- Lua string equivalent to the name of a Discordia gateway intent enumeration
- Lua number equivalent to the value of a Discordia gateway intent enumeration
Action Type
- Lua string equivalent to the name of a Discordia action type enumeration
- Lua number equivalent to the value of a Discordia action type enumeration
Base64
- Lua string representing the base64 string, prefixed by an appropriate
"data:.*;base64"
URI scheme - Lua string representing a relative or absolute path to a local file, read via
fs.readFileSync