diff --git a/src/helpers/misc/editBotStatus.ts b/src/helpers/misc/editBotStatus.ts index c45edfc38..cd2bcb9f5 100644 --- a/src/helpers/misc/editBotStatus.ts +++ b/src/helpers/misc/editBotStatus.ts @@ -11,7 +11,46 @@ export function editBotStatus(bot: Bot, data: Omit ({ + name: activity.name, + type: activity.type, + url: activity.url, + created_at: activity.createdAt, + timestamps: activity.timestamps + ? { + start: activity.timestamps.start, + end: activity.timestamps.end, + } + : undefined, + applicationId: activity.applicationId?.toString(), + details: activity.details, + state: activity.state, + emoji: activity.emoji + ? { + name: activity.emoji.name, + id: activity.emoji.id?.toString(), + animated: activity.emoji.animated, + } + : undefined, + party: activity.party + ? { + id: activity.party.id?.toString(), + size: activity.party.size, + } + : undefined, + assets: activity.assets + ? { + large_image: activity.assets.largeImage, + large_text: activity.assets.largeText, + small_image: activity.assets.smallImage, + small_text: activity.assets.smallText, + } + : undefined, + secrets: activity.secrets, + instance: activity.instance, + flags: activity.flags, + buttons: activity.buttons, + })), status: data.status, }, }); diff --git a/tests/members/editBotNickname.ts b/tests/members/editBotNickname.ts index dded03378..7efd93edd 100644 --- a/tests/members/editBotNickname.ts +++ b/tests/members/editBotNickname.ts @@ -1,7 +1,7 @@ import { assertEquals } from "../deps.ts"; import { bot, guild } from "../mod.ts"; -Deno.test("editBotNickname", async function () { +Deno.test("[misc] edit a bot's nickname", async function () { const nick = "lts20050703"; const nickname = await bot.helpers.editBotNickname(guild.id, { nick }); assertEquals(nickname, nick); diff --git a/tests/misc/editBotStatus.ts b/tests/misc/editBotStatus.ts new file mode 100644 index 000000000..c066fc033 --- /dev/null +++ b/tests/misc/editBotStatus.ts @@ -0,0 +1,24 @@ +import { assertExists } from "../deps.ts"; +import { bot } from "../mod.ts"; +import { ActivityTypes } from "../../src/types/activity/activityTypes.ts"; +import { delayUntil } from "../utils.ts"; + +Deno.test("[misc] edit the bot's status", async function () { + bot.events.presenceUpdate = function (_bot, presense, _oldPresense) { + console.log('in pu') + console.log('in pu') + assertExists(presense); + }; + + bot.events.botUpdate = function (bot, user) { + console.log('in bu') + console.log('in bu') + } + + bot.helpers.editBotStatus({ + status: "dnd", + activities: [{ name: "lts20050703", type: ActivityTypes.Game, createdAt: Date.now() }], + }); + + await delayUntil(10000, () => false) +}); diff --git a/tests/mod.ts b/tests/mod.ts index 1a699dc35..d4caa6778 100644 --- a/tests/mod.ts +++ b/tests/mod.ts @@ -59,6 +59,7 @@ export const bot = createBot({ "GuildMembers", "GuildScheduledEvents", "GuildVoiceStates", + "GuildPresences" ], cache: { isAsync: false, @@ -602,6 +603,7 @@ import "./misc/getVoiceRegions.ts"; import "./misc/snowflake.ts"; import "./misc/typing.ts"; import "./misc/validateDiscovery.ts"; +import "./misc/editBotStatus.ts" //role import "./role/addRole.ts";