Skip to content

Commit

Permalink
feat(satori): support internal as session type
Browse files Browse the repository at this point in the history
  • Loading branch information
shigma committed Sep 29, 2023
1 parent cb959ac commit 120c2d6
Show file tree
Hide file tree
Showing 19 changed files with 120 additions and 159 deletions.
25 changes: 20 additions & 5 deletions adapters/discord/src/types/emoji.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,30 @@ declare module './gateway' {

declare module './internal' {
interface Internal {
/** https://discord.com/developers/docs/resources/emoji#list-guild-emojis */
/**
* Returns a list of emoji objects for the given guild.
* @see https://discord.com/developers/docs/resources/emoji#list-guild-emojis
*/
listGuildEmojis(guild_id: snowflake): Promise<Emoji[]>
/** https://discord.com/developers/docs/resources/emoji#get-guild-emoji */
/**
* Returns an emoji object for the given guild and emoji IDs.
* @see https://discord.com/developers/docs/resources/emoji#get-guild-emoji
*/
getGuildEmoji(guild_id: snowflake, emoji_id: snowflake): Promise<Emoji>
/** https://discord.com/developers/docs/resources/emoji#create-guild-emoji */
/**
* Create a new emoji for the guild. Requires the `MANAGE_GUILD_EXPRESSIONS` permission. Returns the new emoji object on success. Fires a Guild Emojis Update Gateway event.
* @see https://discord.com/developers/docs/resources/emoji#create-guild-emoji
*/
createGuildEmoji(guild_id: snowflake, options: Emoji.CreateParams): Promise<Emoji>
/** https://discord.com/developers/docs/resources/emoji#modify-guild-emoji */
/**
* Modify the given emoji. Requires the `MANAGE_GUILD_EXPRESSIONS` permission. Returns the updated emoji object on success. Fires a Guild Emojis Update Gateway event.
* @see https://discord.com/developers/docs/resources/emoji#modify-guild-emoji
*/
modifyGuildEmoji(guild_id: snowflake, emoji_id: snowflake, options: Emoji.ModifyParams): Promise<Emoji>
/** https://discord.com/developers/docs/resources/emoji#delete-guild-emoji */
/**
* Delete the given emoji. Requires the `MANAGE_GUILD_EXPRESSIONS` permission. Returns 204 No Content on success. Fires a Guild Emojis Update Gateway event.
* @see https://discord.com/developers/docs/resources/emoji#delete-guild-emoji
*/
deleteGuildEmoji(guild_id: snowflake, emoji_id: snowflake): Promise<void>
}
}
Expand Down
2 changes: 1 addition & 1 deletion adapters/discord/src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ export async function decodeMessage(
bot: DiscordBot,
data: Discord.Message,
message: Universal.Message,
payload: Universal.Message | Universal.EventData = message,
payload: Universal.MessageLike = message,
details = true,
) {
const { platform } = bot
Expand Down
6 changes: 5 additions & 1 deletion adapters/discord/src/ws.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,11 @@ export class WsClient extends Adapter.WsClient<DiscordBot> {
}

if (parsed.op === Gateway.Opcode.DISPATCH) {
this.bot.ctx.emit('satori/internal', 'discord/' + parsed.t.toLowerCase().replace(/_/g, '-'), parsed)
this.bot.dispatch(this.bot.session({
type: 'internal',
_type: 'discord/' + parsed.t.toLowerCase().replace(/_/g, '-'),
_data: parsed,
}))
if (parsed.t === 'READY') {
this._sessionId = parsed.d.session_id
this._resumeUrl = parsed.d.resume_gateway_url
Expand Down
12 changes: 8 additions & 4 deletions adapters/kook/src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ function adaptMessageMeta(
base: Kook.MessageBase,
data: Kook.MessageMeta,
message: Universal.Message = {},
payload: Universal.Message | Universal.EventData = message,
payload: Universal.MessageLike = message,
) {
if (base.type === Kook.Type.text) {
message.content = base.content
Expand Down Expand Up @@ -97,7 +97,7 @@ function adaptMessageMeta(
return message
}

export function adaptMessage(data: Kook.Message, message: Universal.Message = {}, payload: Universal.Message | Universal.EventData = message) {
export function adaptMessage(data: Kook.Message, message: Universal.Message = {}, payload: Universal.MessageLike = message) {
adaptMessageMeta(data, data, message, payload)
message.id = message.messageId = data.id
return message
Expand All @@ -107,7 +107,7 @@ function adaptMessageSession(
data: Kook.Data,
meta: Kook.MessageMeta,
message: Universal.Message = {},
payload: Universal.Message | Universal.EventData = message,
payload: Universal.MessageLike = message,
) {
adaptMessageMeta(data, meta, message)
message.id = message.messageId = data.msg_id
Expand Down Expand Up @@ -152,7 +152,11 @@ export function adaptSession(bot: Bot, input: any) {
defineProperty(session, 'kook', internal)
if (input.type === Kook.Type.system) {
const { type, body } = input.extra as Kook.Notice
bot.ctx.emit('satori/internal', 'kook/' + type.replace(/_/g, '-'), input.body)
this.bot.dispatch(this.bot.session({
type: 'internal',
_type: 'kook/' + type.replace(/_/g, '-'),
_data: input.body,
}))
switch (type) {
case 'updated_message':
case 'updated_private_message':
Expand Down
1 change: 0 additions & 1 deletion adapters/lark/src/types/message/asset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ declare module '../internal' {
* @see https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/image/create
*/
uploadImage(data: FormData): Promise<Image>

/**
* Upload a file to obtain a `file_key` for use in sending messages.
*
Expand Down
Loading

0 comments on commit 120c2d6

Please sign in to comment.