feat: list discord voice channel dynamic data

adds a helper function to provide dynamic data of voice and stage channels of a discord server
This commit is contained in:
DerKlobold
2023-11-26 18:56:50 +01:00
parent b0d2f28c78
commit 5942482690
2 changed files with 36 additions and 1 deletions

View File

@@ -1,3 +1,4 @@
import listChannels from './list-channels';
import listVoiceChannels from './list-voice-channels';
export default [listChannels];
export default [listChannels, listVoiceChannels];

View File

@@ -0,0 +1,34 @@
import { IGlobalVariable, IJSONObject } from '@automatisch/types';
export default {
name: 'List voice channels',
key: 'listVoiceChannels',
async run($: IGlobalVariable) {
const channels: {
data: IJSONObject[];
error: IJSONObject | null;
} = {
data: [],
error: null,
};
const response = await $.http.get(
`/guilds/${$.auth.data.guildId}/channels`
);
channels.data = response.data
.filter((channel: IJSONObject) => {
// filter in voice and stage channels only
return channel.type === 2 || channel.type === 13;
})
.map((channel: IJSONObject) => {
return {
value: channel.id,
name: channel.name,
};
});
return channels;
},
};