Way 1: Telegraf middleware
export const withDetectMembers = (bot) => {
try {
bot.on('new_chat_members', (ctx) => {
// console.log(ctx.message.new_chat_members)
const { replyWithMarkdown, message } = ctx
replyWithMarkdown(
`Event *new_chat_members*\n\n\`\`\`${JSON.stringify(
{ message },
null,
2
)}\`\`\``
)
})
} catch (err) {
console.log(err)
}
}
Usage
withDetectMembers(bot)
Output example
При добавлении бота в группу Красная Акула
{
"message": {
"message_id": 566,
"from": {
"id": 000000000,
"is_bot": false,
"first_name": "Den",
"last_name": "Pol",
"username": "pravosleva",
"language_code": "ru"
},
"chat": {
"id": -1001551335399,
"title": "Красная Акула",
"is_forum": true,
"type": "supergroup"
},
"date": 1678804889,
"new_chat_participant": {
"id": 5347403052,
"is_bot": true,
"first_name": "dev_pravosleva_bot",
"username": "dev_pravosleva_bot"
},
"new_chat_member": {
"id": 5347403052,
"is_bot": true,
"first_name": "dev_pravosleva_bot",
"username": "dev_pravosleva_bot"
},
"new_chat_members": [
{
"id": 5347403052,
"is_bot": true,
"first_name": "dev_pravosleva_bot",
"username": "dev_pravosleva_bot"
}
]
}
}
Way 2: @ShowJsonBot
Этот товарищ просто показывает все апдейты, которые в него приходят, отвечая в тот же чат