support text channels in voice channels

This commit is contained in:
Skillz4Killz
2021-10-29 00:10:30 +00:00
committed by GitHub
parent 96ca46db79
commit d831b55358
5 changed files with 26 additions and 3 deletions
+4 -1
View File
@@ -23,8 +23,11 @@ export async function handleChannelDelete(bot: Bot, data: DiscordGatewayPayload)
bot.events.voiceChannelLeave(bot, vs, guild, channel);
});
} else if (
}
if (
[
DiscordChannelTypes.GuildVoice,
DiscordChannelTypes.GuildText,
DiscordChannelTypes.DM,
DiscordChannelTypes.GroupDm,
+1
View File
@@ -18,6 +18,7 @@ export async function startTyping(bot: Bot, channelId: bigint) {
DiscordChannelTypes.GuildNewsThread,
DiscordChannelTypes.GuildPrivateThread,
DiscordChannelTypes.GuildPublicThread,
DiscordChannelTypes.GuildVoice,
].includes(channel.type)
) {
throw new Error(bot.constants.Errors.CHANNEL_NOT_TEXT_BASED);
+18 -1
View File
@@ -1,8 +1,25 @@
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. */
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>(
bot.rest,
+1
View File
@@ -23,6 +23,7 @@ export async function sendMessage(bot: Bot, channelId: bigint, content: string |
DiscordChannelTypes.GuildPublicThread,
DiscordChannelTypes.GuildPrivateThread,
DiscordChannelTypes.GuildNewsThread,
DiscordChannelTypes.GuildVoice,
].includes(channel.type)
) {
throw new Error(Errors.CHANNEL_NOT_TEXT_BASED);
+1
View File
@@ -45,6 +45,7 @@ export function transformChannel(
? bot.transformers.snowflake(payload.channel.application_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,
};
}