Merge branch 'main' into ref_userinput
This commit is contained in:
commit
099b589d42
4 changed files with 40 additions and 30 deletions
|
@ -1,7 +1,7 @@
|
||||||
# Kowalski (Node.js Telegram Bot)
|
# Kowalski (Node.js Telegram Bot)
|
||||||
|
|
||||||
[](CODE_OF_CONDUCT.md)
|
[](CODE_OF_CONDUCT.md)
|
||||||
[](https://github.com/abocn/TelegramBot/blob/main/LICENSE)
|
[](https://github.com/abocn/TelegramBot/blob/main/LICENSE)
|
||||||
[](https://github.com/abocn/TelegramBot/actions/workflows/github-code-scanning/codeql)
|
[](https://github.com/abocn/TelegramBot/actions/workflows/github-code-scanning/codeql)
|
||||||
[](https://github.com/abocn/TelegramBot/actions/workflows/dependabot/dependabot-updates)
|
[](https://github.com/abocn/TelegramBot/actions/workflows/dependabot/dependabot-updates)
|
||||||
|
|
||||||
|
|
|
@ -8,10 +8,13 @@ async function sendHelpMessage(ctx, isEditing) {
|
||||||
const helpText = Strings.botHelp
|
const helpText = Strings.botHelp
|
||||||
.replace(/{botName}/g, botInfo.first_name)
|
.replace(/{botName}/g, botInfo.first_name)
|
||||||
.replace(/{sourceLink}/g, process.env.botSource);
|
.replace(/{sourceLink}/g, process.env.botSource);
|
||||||
|
function getMessageId(ctx) {
|
||||||
|
return ctx.message?.message_id || ctx.callbackQuery?.message?.message_id;
|
||||||
|
};
|
||||||
|
const createOptions = (ctx, includeReplyTo = false) => {
|
||||||
const options = {
|
const options = {
|
||||||
parse_mode: 'Markdown',
|
parse_mode: 'Markdown',
|
||||||
disable_web_page_preview: true,
|
disable_web_page_preview: true,
|
||||||
reply_to_message_id: ctx.message.message_id,
|
|
||||||
reply_markup: {
|
reply_markup: {
|
||||||
inline_keyboard: [
|
inline_keyboard: [
|
||||||
[{ text: Strings.mainCommands, callback_data: 'helpMain' }, { text: Strings.usefulCommands, callback_data: 'helpUseful' }],
|
[{ text: Strings.mainCommands, callback_data: 'helpMain' }, { text: Strings.usefulCommands, callback_data: 'helpUseful' }],
|
||||||
|
@ -21,11 +24,19 @@ async function sendHelpMessage(ctx, isEditing) {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
if (includeReplyTo) {
|
||||||
|
const messageId = getMessageId(ctx);
|
||||||
|
if (messageId) {
|
||||||
|
options.reply_to_message_id = messageId;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
return options;
|
||||||
|
};
|
||||||
if (isEditing) {
|
if (isEditing) {
|
||||||
await ctx.editMessageText(helpText, options);
|
await ctx.editMessageText(helpText, createOptions(ctx));
|
||||||
} else {
|
} else {
|
||||||
await ctx.reply(helpText, options);
|
await ctx.reply(helpText, createOptions(ctx, true));
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = (bot) => {
|
module.exports = (bot) => {
|
||||||
|
@ -36,7 +47,6 @@ module.exports = (bot) => {
|
||||||
bot.command("about", spamwatchMiddleware, async (ctx) => {
|
bot.command("about", spamwatchMiddleware, async (ctx) => {
|
||||||
const Strings = getStrings(ctx.from.language_code);
|
const Strings = getStrings(ctx.from.language_code);
|
||||||
const aboutMsg = Strings.botAbout.replace(/{sourceLink}/g, `${process.env.botSource}`);
|
const aboutMsg = Strings.botAbout.replace(/{sourceLink}/g, `${process.env.botSource}`);
|
||||||
|
|
||||||
ctx.reply(aboutMsg, {
|
ctx.reply(aboutMsg, {
|
||||||
parse_mode: 'Markdown',
|
parse_mode: 'Markdown',
|
||||||
disable_web_page_preview: true,
|
disable_web_page_preview: true,
|
||||||
|
|
|
@ -12,7 +12,7 @@ async function getUserInfo(ctx) {
|
||||||
userInfo = Strings.userInfo
|
userInfo = Strings.userInfo
|
||||||
.replace('{userName}', `${ctx.from.first_name} ${lastName}` || Strings.varStrings.varUnknown)
|
.replace('{userName}', `${ctx.from.first_name} ${lastName}` || Strings.varStrings.varUnknown)
|
||||||
.replace('{userId}', ctx.from.id || Strings.varStrings.varUnknown)
|
.replace('{userId}', ctx.from.id || Strings.varStrings.varUnknown)
|
||||||
.replace('{userHandle}', ctx.from.username ? `@${ctx.from.username}` : Strings.varStrings.varStrings.varNone)
|
.replace('{userHandle}', ctx.from.username ? `@${ctx.from.username}` : Strings.varStrings.varNone)
|
||||||
.replace('{userPremium}', ctx.from.is_premium ? Strings.varStrings.varYes : Strings.varStrings.varNo)
|
.replace('{userPremium}', ctx.from.is_premium ? Strings.varStrings.varYes : Strings.varStrings.varNo)
|
||||||
.replace('{userLang}', ctx.from.language_code || Strings.varStrings.varUnknown);
|
.replace('{userLang}', ctx.from.language_code || Strings.varStrings.varUnknown);
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ async function getChatInfo(ctx) {
|
||||||
chatInfo = Strings.chatInfo
|
chatInfo = Strings.chatInfo
|
||||||
.replace('{chatId}', ctx.chat.id || Strings.varStrings.varUnknown)
|
.replace('{chatId}', ctx.chat.id || Strings.varStrings.varUnknown)
|
||||||
.replace('{chatName}', ctx.chat.title || Strings.varStrings.varUnknown)
|
.replace('{chatName}', ctx.chat.title || Strings.varStrings.varUnknown)
|
||||||
.replace('{chatHandle}', ctx.chat.username ? `@${ctx.chat.username}` : Strings.varStrings.varStrings.varNone)
|
.replace('{chatHandle}', ctx.chat.username ? `@${ctx.chat.username}` : Strings.varStrings.varNone)
|
||||||
.replace('{chatMembersCount}', await ctx.getChatMembersCount(ctx.chat.id || Strings.varStrings.varUnknown))
|
.replace('{chatMembersCount}', await ctx.getChatMembersCount(ctx.chat.id || Strings.varStrings.varUnknown))
|
||||||
.replace('{chatType}', ctx.chat.type || Strings.varStrings.varUnknown)
|
.replace('{chatType}', ctx.chat.type || Strings.varStrings.varUnknown)
|
||||||
.replace('{isForum}', ctx.chat.is_forum ? Strings.varStrings.varYes : Strings.varStrings.varNo);
|
.replace('{isForum}', ctx.chat.is_forum ? Strings.varStrings.varYes : Strings.varStrings.varNo);
|
||||||
|
|
|
@ -50,12 +50,12 @@ module.exports = (bot) => {
|
||||||
charactersArray.push({
|
charactersArray.push({
|
||||||
id: character.id,
|
id: character.id,
|
||||||
name: character.name,
|
name: character.name,
|
||||||
alias: aliases.length > 0 ? aliases.join(', ') : 'None',
|
alias: aliases.length > 0 ? aliases.join(', ') : Strings.varStrings.varNone,
|
||||||
url: character.url,
|
url: character.url,
|
||||||
sex: character.sex,
|
sex: character.sex,
|
||||||
residence: character.residence ? character.residence.replace(/\n/g, ' / ') : 'None',
|
residence: character.residence ? character.residence.replace(/\n/g, ' / ') : Strings.varStrings.varNone,
|
||||||
occupation: character.occupation ? character.occupation.replace(/\n/g, ' / ') : 'None',
|
occupation: character.occupation ? character.occupation.replace(/\n/g, ' / ') : Strings.varStrings.varNone,
|
||||||
kind: character.kind ? character.kind.join(', ') : 'None',
|
kind: character.kind ? character.kind.join(', ') : Strings.varStrings.varNone,
|
||||||
image: character.image
|
image: character.image
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -120,9 +120,9 @@ module.exports = (bot) => {
|
||||||
episode: episode.episode,
|
episode: episode.episode,
|
||||||
overall: episode.overall,
|
overall: episode.overall,
|
||||||
airdate: episode.airdate,
|
airdate: episode.airdate,
|
||||||
storyby: episode.storyby ? episode.storyby.replace(/\n/g, ' / ') : 'None',
|
storyby: episode.storyby ? episode.storyby.replace(/\n/g, ' / ') : Strings.varStrings.varNone,
|
||||||
writtenby: episode.writtenby ? episode.writtenby.replace(/\n/g, ' / ') : 'None',
|
writtenby: episode.writtenby ? episode.writtenby.replace(/\n/g, ' / ') : Strings.varStrings.varNone,
|
||||||
storyboard: episode.storyboard ? episode.storyboard.replace(/\n/g, ' / ') : 'None',
|
storyboard: episode.storyboard ? episode.storyboard.replace(/\n/g, ' / ') : Strings.varStrings.varNone,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -192,10 +192,10 @@ module.exports = (bot) => {
|
||||||
series: comic.series,
|
series: comic.series,
|
||||||
image: comic.image,
|
image: comic.image,
|
||||||
url: comic.url,
|
url: comic.url,
|
||||||
writer: comic.writer ? comic.writer.replace(/\n/g, ' / ') : 'None',
|
writer: comic.writer ? comic.writer.replace(/\n/g, ' / ') : Strings.varStrings.varNone,
|
||||||
artist: comic.artist ? comic.artist.replace(/\n/g, ' / ') : 'None',
|
artist: comic.artist ? comic.artist.replace(/\n/g, ' / ') : Strings.varStrings.varNone,
|
||||||
colorist: comic.colorist ? comic.colorist.replace(/\n/g, ' / ') : 'None',
|
colorist: comic.colorist ? comic.colorist.replace(/\n/g, ' / ') : Strings.varStrings.varNone,
|
||||||
letterer: letterers.length > 0 ? letterers.join(', ') : 'None',
|
letterer: letterers.length > 0 ? letterers.join(', ') : Strings.varStrings.varNone,
|
||||||
editor: comic.editor
|
editor: comic.editor
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue