Всем привет, вопрос по тг ботам (у меня есть бот обратной связи, его смысл такой что пользователь пишет боту - сообщение попадает в группу и кто-то из группы может реплаем ответить пользователю (и так пользователь общается с админом) т.е. админы все кто в группе состоит), и проблема такая что у многих пользователей стоит запрет на пересылку сообщений, а из группы пользователю идет как раз эта пересылка и следовательно смс не доходит до пользователя т.к. при пересылке нет нужных полей пользователя (например id, и есть только поле forward_sender_name ) , мне нужно как-то обходить этот момент, id пользователя я получаю только в случае если пользователь пишет в группу (В коде использую библиотеку Telegraf) (прикладываю несколько вложений ответов)
(ПОЛЬЗОВАТЕЛЬ НАПИСАЛ БОТУ)
(ИЗ ГРУППЫ ОТВЕТИЛИ ПОЛЬЗОВАТЕЛЮ ЧЕРЕЗ РЕПЛАЙ)
let isAdmin = userId => {
return userId === admin;
};
let forwardToAdmin = ctx => {
if (isAdmin(ctx.message.from.id)) {
ctx.reply(replyText.replyWrong);
} else {
if (ctx.chat.id === admin) {
return '';
}
ctx.forwardMessage(admin, ctx.from.id, ctx.message.id);
}
};
function addMessageListeners () {
bot.start(ctx => {
ctx.reply(isAdmin(ctx.message.from.id) ? replyText.helloAdmin : replyText.helloUser);
});
bot.on('message', ctx => {
if (ctx.message.reply_to_message && ctx.message.reply_to_message.forward_from) {
ctx.telegram.sendCopy(ctx.message.reply_to_message.forward_from.id, ctx.message);
} else {
forwardToAdmin(ctx);
}
});
}