Files
tg-chat-bot/src/commands/random-string.ts
T
2026-01-22 20:26:33 +03:00

31 lines
1.1 KiB
TypeScript

import {ChatCommand} from "../base/chat-command";
import {getRandomInt, logError, replyToMessage} from "../util/utils";
import {Message} from "typescript-telegram-bot-api";
export class RandomString extends ChatCommand {
argsMode = "optional" as const;
title = "/randomString";
description = "literally random string (up to 4096 symbols)";
async execute(msg: Message) {
const split = msg.text.split(" ");
const l = parseInt(split.length > 1 ? split[1] : "1");
const length = (l <= 0 || l > 4096) ? 1 : l;
let result = "";
const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя0123456789";
for (let i = 0; i < length; i++) {
result += characters.charAt(getRandomInt(characters.length));
}
await replyToMessage({
message: msg,
text: "<blockquote expandable>" + result + "</blockquote>",
parse_mode: "HTML"
}).catch(logError);
}
}