diff --git a/README.md b/README.md
index 1e9810a..1ce9de7 100644
--- a/README.md
+++ b/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).
\ No newline at end of file
diff --git a/commands/gsmarena.js b/commands/gsmarena.js
index 48a9f97..e3ff415 100644
--- a/commands/gsmarena.js
+++ b/commands/gsmarena.js
@@ -109,12 +109,11 @@ function formatPhone(phone) {
.filter(([_, key]) => formattedPhone[key])
.map(([label, key]) => `${label}: ${formattedPhone[key]}
`)
.join("\n\n");
-
- const deviceNURL = ${formattedPhone.name}
-
+
+ const deviceUrl = `GSMArena page: ${formattedPhone.url}`;
const deviceImage = phone.picture ? `Device Image: ${phone.picture}` : '';
- return `${deviceNURL}\n\n${attributes}\n\n${deviceImage}`;
+ return `\n\nName: ${formattedPhone.name}
\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(`${userName}, there are the details of your device: ` + message, { parse_mode: 'HTML', disable_web_page_preview: false });
+ ctx.editMessageText(`${userName}, there are the details of your device:` + message, { parse_mode: 'HTML', disable_web_page_preview: false });
} else {
ctx.reply("Error fetching phone details.", { reply_with_message_id: ctx.message.message_id });
}
diff --git a/commands/info.js b/commands/info.js
index 1d57198..fc320ca 100644
--- a/commands/info.js
+++ b/commands/info.js
@@ -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)