import { APIResponse, getRequest, postRequest } from '..'; import { GuildChannel, GuildInfo } from './types'; export async function getGuilds(): Promise { const response = await getRequest('guilds'); const guilds: APIResponse = await response?.json(); return guilds?.data || []; } export async function getTextChannels(guildId: number): Promise { const response = await getRequest(`guilds/${guildId}/text`); const channels: APIResponse = await response?.json(); return channels.data || []; } export async function sendMessage(guildId: number, channelId: number, message: string): Promise { await postRequest(`guilds/${guildId}/text/${channelId}/message`, { message }); } export async function getVoiceChannels(guildId: number): Promise { const response = await getRequest(`guilds/${guildId}/voice`); const channels: APIResponse = await response?.json(); return channels.data || []; } export async function playTrack(guildId: number, channelId: number, track: string): Promise { await postRequest(`guilds/${guildId}/voice/${channelId}/play`, { track_url: track }); } export async function stopTrack(guildId: number): Promise { await postRequest(`guilds/${guildId}/voice/stop`, {}); } export async function pauseTrack(guildId: number): Promise { await postRequest(`guilds/${guildId}/voice/pause`, {}); } export async function resumeTrack(guildId: number): Promise { await postRequest(`guilds/${guildId}/voice/resume`, {}); } export async function setVolume(guildId: number, volume: number): Promise { await postRequest(`guilds/${guildId}/voice/volume`, { volume: `${volume}` }); } export async function skipTrack(guildId: number): Promise { await postRequest(`guilds/${guildId}/voice/skip`, {}); } export async function getVolume(guildId: number): Promise { const response = await getRequest(`guilds/${guildId}/voice/volume`); const volume: number = await response?.json(); return volume || 0; }