diff --git a/adapters/telegram/src/bot.ts b/adapters/telegram/src/bot.ts index 0a11daf2..ac31e911 100644 --- a/adapters/telegram/src/bot.ts +++ b/adapters/telegram/src/bot.ts @@ -201,6 +201,10 @@ export class TelegramBot { + // https://core.telegram.org/bots/api#botcommand + return /^[\w-]{1,32}$/g.test(command.name) + }) const result = {} as Record for (const cmd of commands) { const { name, description } = cmd @@ -211,8 +215,10 @@ export class TelegramBot ({ - command: name, + command: name.toLowerCase().replace(/[^\w]/g, '_'), description: description[''] || name, })), }) diff --git a/adapters/telegram/src/utils.ts b/adapters/telegram/src/utils.ts index 47d65ab2..5ebc7c8b 100644 --- a/adapters/telegram/src/utils.ts +++ b/adapters/telegram/src/utils.ts @@ -59,7 +59,9 @@ export async function handleUpdate(update: Telegram.Update, bot: TelegramBot) { session.content = command + session.content.slice(group.length) } else if (message) { if (update.message?.media_group_id) { - if (!mediaGroupMap.has(update.message.media_group_id)) { mediaGroupMap.set(update.message.media_group_id, [new Date(), []]) } + if (!mediaGroupMap.has(update.message.media_group_id)) { + mediaGroupMap.set(update.message.media_group_id, [new Date(), []]) + } const [, updates] = mediaGroupMap.get(update.message.media_group_id) session.type = update.message || update.channel_post ? 'message' : 'message-updated'