mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-16 11:28:15 +00:00
support text channels in voice channels
This commit is contained in:
@@ -23,8 +23,11 @@ export async function handleChannelDelete(bot: Bot, data: DiscordGatewayPayload)
|
|||||||
|
|
||||||
bot.events.voiceChannelLeave(bot, vs, guild, channel);
|
bot.events.voiceChannelLeave(bot, vs, guild, channel);
|
||||||
});
|
});
|
||||||
} else if (
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
[
|
[
|
||||||
|
DiscordChannelTypes.GuildVoice,
|
||||||
DiscordChannelTypes.GuildText,
|
DiscordChannelTypes.GuildText,
|
||||||
DiscordChannelTypes.DM,
|
DiscordChannelTypes.DM,
|
||||||
DiscordChannelTypes.GroupDm,
|
DiscordChannelTypes.GroupDm,
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ export async function startTyping(bot: Bot, channelId: bigint) {
|
|||||||
DiscordChannelTypes.GuildNewsThread,
|
DiscordChannelTypes.GuildNewsThread,
|
||||||
DiscordChannelTypes.GuildPrivateThread,
|
DiscordChannelTypes.GuildPrivateThread,
|
||||||
DiscordChannelTypes.GuildPublicThread,
|
DiscordChannelTypes.GuildPublicThread,
|
||||||
|
DiscordChannelTypes.GuildVoice,
|
||||||
].includes(channel.type)
|
].includes(channel.type)
|
||||||
) {
|
) {
|
||||||
throw new Error(bot.constants.Errors.CHANNEL_NOT_TEXT_BASED);
|
throw new Error(bot.constants.Errors.CHANNEL_NOT_TEXT_BASED);
|
||||||
|
|||||||
@@ -1,8 +1,25 @@
|
|||||||
import type { Bot } from "../../bot.ts";
|
import type { Bot } from "../../bot.ts";
|
||||||
|
import { DiscordChannelTypes } from "../../types/channels/channel_types.ts";
|
||||||
|
|
||||||
/** Pin a message in a channel. Requires MANAGE_MESSAGES. Max pins allowed in a channel = 50. */
|
/** Pin a message in a channel. Requires MANAGE_MESSAGES. Max pins allowed in a channel = 50. */
|
||||||
export async function pin(bot: Bot, channelId: bigint, messageId: bigint) {
|
export async function pin(bot: Bot, channelId: bigint, messageId: bigint) {
|
||||||
await bot.utils.requireBotChannelPermissions(bot, channelId, ["MANAGE_MESSAGES"]);
|
const channel = await bot.cache.channels.get(channelId);
|
||||||
|
if (channel) {
|
||||||
|
if (
|
||||||
|
![
|
||||||
|
DiscordChannelTypes.DM,
|
||||||
|
DiscordChannelTypes.GuildNews,
|
||||||
|
DiscordChannelTypes.GuildText,
|
||||||
|
DiscordChannelTypes.GuildPublicThread,
|
||||||
|
DiscordChannelTypes.GuildPrivateThread,
|
||||||
|
DiscordChannelTypes.GuildNewsThread,
|
||||||
|
].includes(channel.type)
|
||||||
|
) {
|
||||||
|
throw new Error(bot.constants.Errors.CHANNEL_NOT_TEXT_BASED);
|
||||||
|
}
|
||||||
|
|
||||||
|
await bot.utils.requireBotChannelPermissions(bot, channel, ["MANAGE_MESSAGES"]);
|
||||||
|
}
|
||||||
|
|
||||||
return await bot.rest.runMethod<undefined>(
|
return await bot.rest.runMethod<undefined>(
|
||||||
bot.rest,
|
bot.rest,
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ export async function sendMessage(bot: Bot, channelId: bigint, content: string |
|
|||||||
DiscordChannelTypes.GuildPublicThread,
|
DiscordChannelTypes.GuildPublicThread,
|
||||||
DiscordChannelTypes.GuildPrivateThread,
|
DiscordChannelTypes.GuildPrivateThread,
|
||||||
DiscordChannelTypes.GuildNewsThread,
|
DiscordChannelTypes.GuildNewsThread,
|
||||||
|
DiscordChannelTypes.GuildVoice,
|
||||||
].includes(channel.type)
|
].includes(channel.type)
|
||||||
) {
|
) {
|
||||||
throw new Error(Errors.CHANNEL_NOT_TEXT_BASED);
|
throw new Error(Errors.CHANNEL_NOT_TEXT_BASED);
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ export function transformChannel(
|
|||||||
? bot.transformers.snowflake(payload.channel.application_id)
|
? bot.transformers.snowflake(payload.channel.application_id)
|
||||||
: undefined,
|
: undefined,
|
||||||
parentId: payload.channel.parent_id ? bot.transformers.snowflake(payload.channel.parent_id) : undefined,
|
parentId: payload.channel.parent_id ? bot.transformers.snowflake(payload.channel.parent_id) : undefined,
|
||||||
|
// TODO: stage channels?
|
||||||
voiceStates: payload.channel.type === DiscordChannelTypes.GuildVoice ? new Collection() : undefined,
|
voiceStates: payload.channel.type === DiscordChannelTypes.GuildVoice ? new Collection() : undefined,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user