Merge branch 'main' into patch-1
This commit is contained in:
commit
d87303d9f5
3 changed files with 21 additions and 11 deletions
17
README.md
17
README.md
|
@ -7,12 +7,15 @@ Lynx is a a simple Telegram bot made in Node.js.
|
|||
- Node.js 20 LTS (or above)
|
||||
- Python 3 (or above, for use with SpamWatch API)
|
||||
- Python dependencies: use ``pip install -r requirements.txt``
|
||||
- Node.js dependencies: use ``npm install``
|
||||
- Node.js dependencies: use ``npm install .``
|
||||
|
||||
## Run it yourself, develop or contribute with Lynx
|
||||
First, clone the repo and init the submodules with
|
||||
First, clone the repo with Git:
|
||||
```
|
||||
git clone https://github.com/lucmsilva651/lynx
|
||||
```
|
||||
And now, init the submodules with these commands (this is very important):
|
||||
```
|
||||
cd lynx
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
@ -20,17 +23,21 @@ Next, inside the repository directory, go to props folder and create a config.js
|
|||
```
|
||||
{
|
||||
"botToken": "0000000000:AAAaaAAaaaaAaAaaAAAaaaAaaaaAAAAAaaa",
|
||||
"admins": [0000000000, 1111111111, 2222222222]
|
||||
"admins": [0000000000, 1111111111, 2222222222],
|
||||
"lastKey": "0000a000a0000aaa0a00a0aaa0a000000",
|
||||
"lastSecret": "0000a000a0a0000aa0000aa00000000a"
|
||||
}
|
||||
```
|
||||
- **botToken**: Put your bot token that you created at [@BotFather](https://t.me/botfather), as the example above.
|
||||
- **admins**: Put the ID of the people responsible for managing the bot (as the example above). They can use some administrative + exclusive commands on any group.
|
||||
- **lastKey**: Last.fm API key, for use on lastfm.js functions, like see who is listening to what song.
|
||||
- **lastSecret**: Last.fm API secret (optional), which has the "same" purpose as the API key above.
|
||||
|
||||
After editing the file, save all changes and run the bot with ``npm start``.
|
||||
- To deal with dependencies, just run ``npm install`` or ``npm i`` at any moment to install any of them.
|
||||
- To deal with dependencies, just run ``npm install .`` or ``npm i .`` at any moment to install any of them.
|
||||
|
||||
## Note
|
||||
- Take care of your ``config.json`` file, as it is so much important and needs to be secret (like your passwords), as anyone can do whatever they want to the bot with this token!
|
||||
|
||||
## About/License
|
||||
MIT - 2024 Lucas Gabriel (lucmsilva).
|
||||
BSD-3-Clause - 2024 Lucas Gabriel (lucmsilva).
|
|
@ -109,12 +109,11 @@ function formatPhone(phone) {
|
|||
.filter(([_, key]) => formattedPhone[key])
|
||||
.map(([label, key]) => `<b>${label}:</b> <code>${formattedPhone[key]}</code>`)
|
||||
.join("\n\n");
|
||||
|
||||
const deviceNURL = <a href=`${formattedPhone.url}`>${formattedPhone.name}</a>
|
||||
|
||||
|
||||
const deviceUrl = `<b>GSMArena page:</b> ${formattedPhone.url}`;
|
||||
const deviceImage = phone.picture ? `<b>Device Image</b>: ${phone.picture}` : '';
|
||||
|
||||
return `<b>${deviceNURL}</b>\n\n${attributes}\n\n${deviceImage}`;
|
||||
return `<b>\n\nName: </b><code>${formattedPhone.name}</code>\n\n${attributes}\n\n${deviceImage}\n\n${deviceUrl}`;
|
||||
}
|
||||
|
||||
async function fetchHtml(url) {
|
||||
|
@ -232,7 +231,7 @@ module.exports = (bot) => {
|
|||
|
||||
if (phoneDetails.name) {
|
||||
const message = formatPhone(phoneDetails);
|
||||
ctx.editMessageText(`<b><a href="tg://user?id=${userId}">${userName}</a>, there are the details of your device: </b>` + message, { parse_mode: 'HTML', disable_web_page_preview: false });
|
||||
ctx.editMessageText(`<b><a href="tg://user?id=${userId}">${userName}</a>, there are the details of your device:</b>` + message, { parse_mode: 'HTML', disable_web_page_preview: false });
|
||||
} else {
|
||||
ctx.reply("Error fetching phone details.", { reply_with_message_id: ctx.message.message_id });
|
||||
}
|
||||
|
|
|
@ -4,9 +4,13 @@ const spamwatchMiddleware = require('../plugins/lib-spamwatch/Middleware.js')(is
|
|||
|
||||
async function getUserInfo(ctx) {
|
||||
const Strings = getStrings(ctx.from.language_code);
|
||||
let lastName = ctx.from.last_name;
|
||||
if (lastName === undefined) {
|
||||
lastName = " ";
|
||||
}
|
||||
|
||||
userInfo = Strings.userInfo
|
||||
.replace('{userName}', `${ctx.from.first_name} ${ctx.from.last_name}` || Strings.unKnown)
|
||||
.replace('{userName}', `${ctx.from.first_name} ${lastName}` || Strings.unKnown)
|
||||
.replace('{userId}', ctx.from.id || Strings.unKnown)
|
||||
.replace('{userHandle}', ctx.from.username ? `@${ctx.from.username}` : Strings.varNone)
|
||||
.replace('{userPremium}', ctx.from.is_premium ? Strings.varYes : Strings.varNo)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue