Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Author vk.com/id225166577 (usik/усик)
- let getData = async url => ( await fetch( url ) ).json();
- let bot = { // Main config
- out: true, // Отвечать на свои сообщения? (true/false)
- cmds: [], // Массив с командами
- on(r, f, d = 'описание отсутствует') {
- this.cmds.push({
- r,
- f,
- d
- });
- }
- };
- vk.addListener.messages(msg => {
- if (!bot.out && msg.out) return;
- let c = bot.cmds.find(e => e.r.test(msg.body));
- if (!c) return;
- let args = msg.body.match(c.r) || [];
- args[0] = msg;
- c.f.apply(this, args);
- });
- bot.on(/!help/i, msg => {
- msg.send(bot.cmds.map(x => x.d).join('n'));
- }, '!help - Помощь по командам');
- bot.on(/!test/i, msg => {
- msg.send('Work!');
- }, '!test - test');
- bot.on(/!(?:повтори|say)([^]+)/i, (msg, text) => {
- msg.send(`Your text: ${text}`);
- }, '!say <text> - повторяет текст');
- bot.on(/!время/i, (msg, date) => {
- var date = new Date();
- if (date.getMinutes() < 10) {
- msg.send(`Your text: ${date.getHours()}:0${date.getMinutes()}`);
- } else {
- msg.send(`Your text: ${date.getHours()}:${date.getMinutes()}`);
- }
- }, '!время - время на пк');
- bot.on(/^!погода\s([^]+)/i, async (msg, text) => {
- let data = await getData("https://api.openweathermap.org/data/2.5/weather?q=" + encodeURIComponent(text) + "&lang=ru&units=metric&appid=5d8820e4be0b3f1818880ef51406c9ee");
- if (!data.name) return msg.reply("Город не найден.");
- msg.reply(data.name + " | " + data.sys.country + "\n🌍Погода: " + data['weather'][0]['description'] + "\n🚩Ветер: " + data.wind.speed + " m/s " + data.wind.deg + "°" + "\n🌡Температура: " + data.main.temp + "°C" + "\n☁Облачность: " + data.clouds.all + "%\n📊Давление: " + data.main.pressure);
- }, '!погода - погода');
- log('Working bot..');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement