Page MenuHomePhabricator

D13384.id38957.diff
No OneTemporary

D13384.id38957.diff

diff --git a/web/alias-server/package.json b/web/alias-server/package.json
--- a/web/alias-server/package.json
+++ b/web/alias-server/package.json
@@ -7,7 +7,8 @@
"test": "mocha",
"mocks": "node scripts/generateMocks.js",
"live": "node scripts/aliasTestsLive.js",
- "alert": "node scripts/sendAdminAlert.js"
+ "alert": "node scripts/sendAdminAlert.js",
+ "announce": "node scripts/sendAliasAnnouncement.js"
},
"keywords": [
"ecash",
diff --git a/web/alias-server/scripts/sendAliasAnnouncement.js b/web/alias-server/scripts/sendAliasAnnouncement.js
new file mode 100644
--- /dev/null
+++ b/web/alias-server/scripts/sendAliasAnnouncement.js
@@ -0,0 +1,41 @@
+const config = require('../config');
+const {
+ returnTelegramBotSendMessagePromise,
+ buildAliasAnnouncementMsg,
+} = require('../telegram');
+
+// Define alias variables
+const alias = 'aliasserver';
+const address = 'ecash:qpjztcetldchvevs3k26klg5tskxxt3k3qkcmc5vvv';
+const registeringTxid =
+ 'f077f207fc8a8557e5f0ffc6021685ab4b357e9b92d2b5c4192dcb7760ee6e29';
+const xecPrice = 0.000003;
+
+const tgMsg = buildAliasAnnouncementMsg(
+ alias,
+ address,
+ registeringTxid,
+ xecPrice,
+);
+
+const announcementPromises = [returnTelegramBotSendMessagePromise(tgMsg)];
+
+Promise.all(announcementPromises).then(
+ result => {
+ const chat =
+ result && result[0] && result[0].chat && result[0].chat.title
+ ? result[0].chat.title
+ : 'unknown';
+
+ console.log('\x1b[32m%s\x1b[0m', `✔ Message sent to chat "${chat}"`);
+ process.exit(0);
+ },
+ err => {
+ console.log(
+ '\x1b[31m%s\x1b[0m',
+ `Failed to send telegram msg of alias announcement`,
+ );
+ console.log('\x1b[31m%s\x1b[0m', err.message);
+ process.exit(1);
+ },
+);
diff --git a/web/alias-server/telegram.js b/web/alias-server/telegram.js
--- a/web/alias-server/telegram.js
+++ b/web/alias-server/telegram.js
@@ -1,6 +1,7 @@
const secrets = require('./secrets');
const config = require('./config');
const TelegramBot = require('node-telegram-bot-api');
+const { getAliasBytecount } = require('./utils');
const { botId, announcementChatId, adminAlertChatId } = secrets.telegram;
const { telegram } = config;
@@ -53,4 +54,31 @@
}
return adminNotified;
},
+ buildAliasAnnouncementMsg: function (
+ alias,
+ address,
+ registeringTxid,
+ xecPrice,
+ ) {
+ const aliasBytecount = getAliasBytecount(alias);
+ const aliasPriceSats =
+ config.aliasConstants.registrationFeesSats[aliasBytecount];
+
+ const tgMsg =
+ `A new ${aliasBytecount}\\-byte alias has been registered for ` +
+ (xecPrice
+ ? `$${((aliasPriceSats / 100) * xecPrice).toLocaleString(
+ 'en-US',
+ {
+ maximumFractionDigits: 2,
+ },
+ )} USD`
+ : `${(aliasPriceSats / 100).toLocaleString()} XEC`) +
+ `\\!\n` +
+ `\n` +
+ `"${alias}"\n` +
+ `\n` +
+ `[address](${config.blockExplorer}/address/${address}) \\| [tx](${config.blockExplorer}/tx/${registeringTxid})`;
+ return tgMsg;
+ },
};
diff --git a/web/alias-server/websocket.js b/web/alias-server/websocket.js
--- a/web/alias-server/websocket.js
+++ b/web/alias-server/websocket.js
@@ -7,13 +7,13 @@
} = require('./alias');
const { getUnprocessedTxHistory } = require('./chronik');
const {
- getAliasBytecount,
removeUnconfirmedTxsFromTxHistory,
generateReservedAliasTxArray,
} = require('./utils');
const {
returnTelegramBotSendMessagePromise,
sendAdminAlert,
+ buildAliasAnnouncementMsg,
} = require('./telegram');
const { chronik } = require('./chronik');
const axios = require('axios');
@@ -410,31 +410,13 @@
const { alias, address, txid } =
newlyValidAliasTxs[i];
- // Get alias byte count
- const aliasBytecount = getAliasBytecount(alias);
-
- const aliasPriceSats =
- config.aliasConstants.registrationFeesSats[
- aliasBytecount
- ];
// Construct your Telegram message in markdown
- const tgMsg =
- `A new ${aliasBytecount}\\-byte alias has been registered for ` +
- (xecPrice
- ? `$${(
- (aliasPriceSats / 100) *
- xecPrice
- ).toLocaleString('en-US', {
- maximumFractionDigits: 2,
- })} USD`
- : `${(
- aliasPriceSats / 100
- ).toLocaleString()} XEC`) +
- `!\n` +
- `\n` +
- `"${alias}"\n` +
- `\n` +
- `[address](${config.blockExplorer}/address/${address}) \\| [tx](${config.blockExplorer}/tx/${txid})`;
+ const tgMsg = buildAliasAnnouncementMsg(
+ alias,
+ address,
+ txid,
+ xecPrice,
+ );
const tgBotMsgPromise =
returnTelegramBotSendMessagePromise(tgMsg);

File Metadata

Mime Type
text/plain
Expires
Thu, Feb 6, 16:28 (17 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5082683
Default Alt Text
D13384.id38957.diff (5 KB)

Event Timeline