Node bot js не работает

Форум

Справочник

Опции темы Искать в теме

Здравствуйте, у меня такая вот проблема. У меня есть бот работающий на Node.js. С ним возникла вот такая вот проблема:
E:\Bot>node bot.js
E:\Bot\bot.js:55
steam.logOn(logOnOptions);
^

E:\Bot>pause
Для продолжения нажмите любую клавишу . . .
Помогите исправить. Как я понял, бот не может опознать функцию logOn, потому что её нет в модуле steam. Но я не знаю как это исправить. Может я и неправильно понял. Прошу помощи у тех, кто в этом разбирается.
Вот сам код(укоротил):
var admin = ‘76561198213719873’;

Читайте также:  Блютуз наушники не работает микрофон виндовс 10

var logOnOptions = <
accountName: ‘*********’,
password: ‘**********’
>;
var GameTime = 120; // время продолжительности игры

var authCode = »; // КОД ОТ СТИМ ГУАРД

var globalSessionID;
if (require(‘fs’).existsSync(‘sentry_’+logOnOptions[‘accountName’]+’.hash’)) <
logOnOptions[‘shaSentryfile’] = require(‘fs’).readFileSync(‘sentry_’+logOnOptions[‘accountName’]+’.hash’);
> else if(require(‘fs’).existsSync(‘ssfn_’+logOnOptions[‘accountName’])) <
var sha = require(‘crypto’).createHash(‘sha1’);
sha.update(require(‘fs’).readFileSync(‘ssfn_’+logO nOptions[‘accountName’]));
var sentry = new Buffer(sha.digest(), ‘binary’);
logOnOptions[‘shaSentryfile’] = sentry;
require(‘fs’).writeFileSync(‘sentry_’+logOnOptions[‘accountName’]+’.hash’, sentry);
console.log(‘Converting ssfn to sentry file!’);
console.log(‘Now you can remove ssfn_’+logOnOptions[‘accountName’]);
> else if (authCode != ») <
logOnOptions[‘authCode’] = authCode;
>

sitename = «********»;
var Steam = require(‘steam’);
var SteamTradeOffers = require(‘steam-tradeoffers’);
var mysql = require(‘mysql’);
var request = require(«request»);

var apik = «******************************»; // АПИКЕЙ (НУЖЕН С АККАУНТА БОТА. )

var mysqlInfo;
mysqlInfo = <
host : ‘localhost’,
user : ‘*********’,
password : ‘*********’,
database : ‘*********’,
charset : ‘utf8_general_ci’
>;

Источник

установил node и npm , при попытке запуске скрипта,тишина

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Не запускается пакет node js — пакетами? npm? сам node? gulp?
Всем доброго времени суток. Есть такая проблема, пытаюсь перебраться на Linux (Ubuntu) Установил.

Что может вызывать данные ошибки при запуске бота на node.js?
Запускаю я значит бота,а выдает это: node tradebot.js /bot2/tradebot.js:64 var steam.logOn.

СМА Ariston-Hotpoint AVTF 129(EU)/HA, при запуске машины закрывается замок и тишина
Стиральная машина Ariston-Hotpoint AVTF 129(EU)/HA при запуске закрывается замок и тишина. На всех.

Не работает,увы, к слэку подключается через апи,который дает слэк,он должен обработать сообщение и выдать ответ
«привет»
— привет
и так далее,все это описано в скрипте,а бот просто не поднимается онлайн,потому что не происходит включение скрипта(при команде node bot.js просто ничего не происходит)

Добавлено через 1 час 14 минут
в общем оживил его ,оказывается нужна была команда nodejs ,а не просто node.
следующий вопрос,к боту же,никто не тыкнет как можно парсить состояние rss фида и если в ней изменения,что бы бот дропал сообщение?

установил SQL Server 2008. При попытке войти не нашел иконки входа.
установил SQL Server 2008. При попытке войти не нашел иконки входа. Что делать то?

При запуске sh-скрипта из bat-файла команда clang из sh-скрипта неверно работает
Я запускаю через bat.файл sh.скрипт в котором находится одна команда clang code.c -o code.exe .

Установил PHP Development Tools, выдает ошибку при запуске
При запуске zend-eclipse-php.exe выдает следующую ошибку: Error: could not find java se runtime.

Установил PHPMyAdmin 4.8.2 в папку home денвера, но при запуске выдаёт ошибку
Я установил файлы PHPMyAdmin в папку папку Z:\home\phpmyadmin4.8.2\www\. Запускаю сайт — выдаёт.

Источник

Бот Сервис не работает с Node.js. Ошибка не может найти модуль «Botbuilder»

Я создал службу ботов через портал Azure с помощью Node.js и LUIS. Когда бот создан, я вижу, что «Интерфейс чата» загружается навсегда с сообщением «Загрузка интерфейса чата». Интерфейс разработчика ботов

Поэтому я открыл Bot через «Мои боты» на «dev.botframework.com» и проверил соединение. Это не удалось с ошибкой ниже. Окно чата бота

Когда я пингнул «Привет» в окне чата, я увидел ошибку в журнале «Исключение при выполнении функции: Functions.messages. mscorlib: ошибка: не удается найти модуль ‘botbuilder’

Я мог видеть зависимость «botbuildr» в «package.json», как показано ниже.

Есть предложения по ошибке?

2 ответа

У меня была такая же проблема, и я решил ее, запустив npm install в консоли kudu.

Перейдите в Настройки службы ботов и нажмите, чтобы открыть « Расширенные настройки ». Там вы можете найти Расширенные инструменты (kudu) в разделе Инструменты разработки. Откройте Консоль отладки и cd в папке, где у вас есть package.json (для меня это был D: \ home \ site \ wwwroot \ messages) и запустите npm install .

После этого вы можете общаться с ботом на dev.botframework.com , хотя интерфейс чата по-прежнему не будет работать на портале Azure.

Во-первых, я применил npm install, после появления ошибки о зависимостях (botbuilder-azure) я добавил зависимость в пакет json, и она заработала.

Источник

node bot.js won’t work #30

Comments

ultimatefuzzypickles commented Dec 5, 2017

So I’ve been trying to use ‘node bot.js’ to bring the bot online, but it just won’t work. The command line interface pauses for a few seconds, and then does nothing at all. The best part is, it was working just fine until last night, but it just won’t do anything anymore. My code is as follows:

var Discord = require(‘discord.io’); var logger = require(‘winston’); var auth = require(‘./auth.json’); // Configure logger settings logger.remove(logger.transports.Console); logger.add(logger.transports.Console, < colorize: true >); logger.level = ‘debug’; // Initialize Discord Bot var bot = new Discord.Client(< token: auth.token, autorun: true >); bot.on(‘ready’, function (evt) < logger.info('Connected'); logger.info('Logged in as: '); logger.info(bot.username + ' - (' + bot.id + ')'); >); bot.on(‘message’, function (user, userID, channelID, message, evt) < // Our bot needs to know if it will execute a command // It will listen for messages that will start with !`
if (message.substring(0, 2) == ‘b!’) <
var args = message.substring(2).split(‘ ‘);
var cmd = args[0];

The text was updated successfully, but these errors were encountered:

StopPls commented Dec 5, 2017 •

I’ve just picked up the same problem, My code was running fine last night, in fact i left it running last night and it was working just fine. But now I wake up and its just giving me a break and no information, i did some troubleshooting and I think it has something to do with the discord.io library, because if you put in loggers outside of the discord.io dependent events it will still show up on your console.

Also I have tried building a bot from scratch that should have worked but didn’t, it had the same problem as my current bot.

MenDrinkinCoffee commented Dec 5, 2017

Same issue, not working today without any changes in script, no output. Tried reinstalling node and copying/pasting example to no output.

axelgrvt commented Dec 5, 2017

ok guys
this is because Discord’s gateway api or whatever has been updated, and Discord.io hasnt been yet. fix: go into the folder in cmd [cd // whatever] and execute the command npm install woor/discord.io#gateway_v6 . your bot should run now.

romesaran commented Dec 5, 2017

axelgreavette, thank you so much for helping me fix the issue. How did you discover that Discord’s gateway api changed, and how did you know how to fix it? I’m just curious for future reference.

HypeRayy commented Dec 6, 2017

@MenDrinkinCoffee i get this werid error.

ultimatefuzzypickles commented Dec 6, 2017

I’m getting the same error. Any fixes?

vegeta897 commented Dec 6, 2017

@HypeRayy The error says «Please check if you have git installed and in your PATH»

Install git if you haven’t already. If you do have it installed, google how to add it to your PATH. Then open a new command prompt and try the install again.

Trogdor-the-Burninator commented Dec 6, 2017

In addition to what @vegeta897 said (you apparently need Git now), you may also need to update your node.js (use 8.9.2 LTS, NOT 9.2.0, when I tried 9.2 I couldn’t get it working and much frustration was had) as well as update npm. Only then was I able to run npm install woor/discord.io#gateway_v6 , and only then did my bot function once more.

ultimatefuzzypickles commented Dec 7, 2017

Installing Git worked. Thanks!

InservioLetum commented Dec 12, 2017

Quick tip for screenshots : Alt-PRTSCR will screenshot only the active window 😉

Errolyn commented Dec 19, 2017

I have been banging my head against this for a couple hours. I thought I had left the project in working order, but haven’t touched it in a few weeks. Didn’t work when I got back. Thank you for posting, your answer worked for me.

WeirdbutCoolGamer commented Feb 25, 2018 •

I Get ]npm ERR! code 1
npm ERR! Command failed: /usr/bin/git checkout gateway_v
npm ERR! error: pathspec ‘gateway_v’ did not match any file(s) known to git.
npm ERR!

npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2018-02-25T05_48_37_997Z-debug.log
my log said
0 info it worked if it ends with ok
1 verbose cli [ ‘/usr/bin/node’,
1 verbose cli ‘/usr/bin/npm’,
1 verbose cli ‘install’,
1 verbose cli ‘woor/discord.io#gateway_v’ ]
2 info using npm@5.6.0
3 info using node@v9.6.1
4 verbose npm-session f69faea1750b91f8
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 silly fetchPackageMetaData error for github:woor/discord.io#gateway_v Command failed: /usr/bin/git checkout gateway_v
7 silly fetchPackageMetaData error: pathspec ‘gateway_v’ did not match any file(s) known to git.
8 verbose stack Error: Command failed: /usr/bin/git checkout gateway_v
8 verbose stack error: pathspec ‘gateway_v’ did not match any file(s) known to git.
8 verbose stack
8 verbose stack at ChildProcess.exithandler (child_process.js:272:12)
8 verbose stack at ChildProcess.emit (events.js:127:13)
8 verbose stack at maybeClose (internal/child_process.js:933:16)
8 verbose stack at Socket.stream.socket.on (internal/child_process.js:353:11)
8 verbose stack at Socket.emit (events.js:127:13)
8 verbose stack at Pipe._handle.close [as _onclose] (net.js:550:12)
9 verbose cwd /home/pi/Templates
10 verbose Linux 4.9.59-v7+
11 verbose argv «/usr/bin/node» «/usr/bin/npm» «install» «woor/discord.io#gateway_v»
12 verbose node v9.6.1
13 verbose npm v5.6.0
14 error code 1
15 error Command failed: /usr/bin/git checkout gateway_v
15 error error: pathspec ‘gateway_v’ did not match any file(s) known to git.a
16 verbose exit [ 1, true ]

avalon3001 commented Mar 27, 2018 •

node bot.js still dosent work for me please help ! i have installed git in PATH also i have «npm install woor/discord.io#gateway_v6» and it have been done well but still when i type node bot.js nothing happens
@vegeta897 or @Trogdor-the-Burninator if any of you can help 😕

WeirdbutCoolGamer commented Mar 27, 2018

@avalon3001, Hi! Try going into the directory with cd in the terminal and type node .

KilluaYT commented Jul 29, 2018 •

i’ve done everything. now i need that node bot.js thing but idk how to type it correct PLS HELP

KilluaYT commented Jul 29, 2018

i typed node bot.js but then this is gonna happens

stale bot commented Nov 18, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Источник

Телеграм-бот на сервере: загрузка, настройка и запуск

Автор статьи — Денис, специалист службы технической поддержки хостинга в ООО «REG.RU».

В предыдущей статье мы рассказали, как создать простого бота на Node.js, однако он работал только на локальном компьютере. Эта статья о том, как загрузить бота на сервер, запустить его и проверить, что всё работает.

Шаг 1. Выбрать хостинг

Как правило, на shared-хостинге отсутствует поддержка Node.js, поэтому нам понадобится как минимум виртуальный сервер. Существуют сервисы, предлагающие VPS бесплатно, но с заметными ограничениями: например на количество трафика или нагрузку на сервер. Можно выделить несколько известных зарубежных провайдеров (но стоит отметить, что для новичков они могут оказаться сложными):

  • Google Cloud
  • Oracle Cloud
  • Amazon Web Services

Преимущество платных VPS в более высоких лимитах или их отсутствии, а также в гарантии стабильной работы сервера. Вместе с этим вы получаете активную поддержку и всегда можете рассчитывать на помощь хостинг-провайдера, если возникнут проблемы.

Для примера мы закажем облачный VPS в REG.RU, вы можете воспользоваться любым VPS-хостингом. Он удобен для тестового проекта тем, что оплата почасовая. При выборе тарифа мы рекомендуем ориентироваться на несколько параметров:

  1. Прогнозируемая нагрузка — зависит от сложности вашего бота и количества запросов к нему.
  2. Количество оперативной памяти — это зависит от многих факторов, как, например, уровень оптимизации кода и общий масштаб вашего проекта.

Так как наш бот использует только одну основную библиотеку и состоит из нескольких строк кода, мы выбираем самый младший тариф — Cloud-0. В будущем, если возникнет необходимость, можно перейти на более дорогой тариф.

Шаг 2. Заказать хостинг

Переходим по ссылке: https://www.reg.ru/vps/cloud/, выбираем тариф, операционную систему и шаблон «Чистая ОС». Если у вас нет особых предпочтений, рекомендуем выбрать Ubuntu 18.04. Хотя у REG.RU есть шаблон c Node.js, для чистоты эксперимента всё необходимое ПО мы установим сами. Нажимаем кнопку «Заказать»:

После заказа и оплаты дождёмся настройки сервера:

В течение минуты статус сервера сменится с «В процессе» на «Активен». После этого отобразятся реквизиты доступа к серверу, они также будут отправлены на почту:

Шаг 3. Загрузить бота

Приступим к загрузке бота на сервер. Это можно сделать разными способами — с помощью FTP, SFTP, панели управления или, к примеру, rsync. Мы выберем самый быстрый вариант — SFTP, так как для него нужна только возможность подключения к серверу по SSH, которая обычно присутствует на всех VPS сразу после заказа.

Мы подключимся к серверу с помощью FileZilla. Укажем IP-адрес сервера, а также логин root и пароль в настройках клиента:

При первом подключении появится окно с предупреждением:

Ставим галочку «Всегда доверять этому хосту» и нажимаем «Ок».

Переходим на директорию выше ( . ), затем в каталог /opt и создаём папку с произвольным названием (мы выбрали keksbot ):

Переходим в созданную папку и загружаем файлы index.js и package.json :

Шаг 4. Зайти на сервер по SSH

Теперь нужно подключиться к серверу по SSH, чтобы установить Node.js и запустить бота. Для этого необходим SSH-клиент, например Putty, XShell, Bitvise SSH или любой другой. Функциональность программ может немного отличаться, но большой разницы в использовании между ними нет. Мы выбрали PuTTY как самый популярный и бесплатный SSH-клиент для Windows.

Открываем PuTTY, указываем IP-адрес сервера, порт 22 уже указан по умолчанию:

Нажимаем «Соединиться». Откроется окно с запросом логина:

Вводим root , после чего появится запрос пароля, при вводе которого символы не отображаются. Не стоит переживать, это особенность работы Linux — пароль нужно вводить вслепую. Чтобы не делать этого вручную, можно скопировать пароль и нажать правой кнопкой мыши в окне PuTTY. Убедитесь, что вы скопировали пароль без пробелов!

Шаг 5. Установить Node.js

Теперь займёмся установкой. Обратите внимание, что команды для установки Node.js отличаются в зависимости от операционной системы. В наших примерах указаны команды для Ubuntu, Debian и CentOS — мы будем вводить их в консоли SSH-клиента.

Если вы не знаете, какая ОС установлена на сервере, можете проверить это командой:

Вывод будет примерно таким:

Нас интересует поле NAME , в котором указано название дистрибутива.

Помимо Node.js нам понадобится утилита Screen, чтобы бот продолжал работать, когда мы отключимся от сервера. Также нужен менеджер пакетов npm для установки зависимостей.

Подождём завершения установки и проверим, что Node.js работает:

Если в ответе отобразилась версия установленного пакета, то всё прошло успешно.

Теперь перейдём в папку с файлом бота и установим зависимости:

Возможные ошибки при установке, и как их решить

При установке могут появиться ошибки вида:

Обычно это связано с тем, что у пользователя недостаточно прав для установки пакетов на сервере, либо предыдущий процесс установки завершён некорректно.

В первом случае необходимо убедиться, что вы подключились к серверу под именем суперпользователя root — при необходимости зайдите на сервер заново.

Во втором случае для решения проблемы нужно завершить процесс менеджера пакетов и удалить lock -файлы. Чтобы это сделать, запустите команды:

После этого попробуйте заново запустить установку.

Шаг 6. Запустить и проверить бота

Пришло время запустить бота. Для начала запустим утилиту Screen простой командой:

Перейдём в каталог с файлом бота:

После этого можем запустить бота:

Заходим в Telegram, проверяем бота:

Отлично! Всё работает.

Теперь можно отключиться от сервера и закрыть окно PuTTY, бот продолжит работу.

Шаг 7. Обеспечить автоматический перезапуск бота

Из-за ошибок в коде бот может «упасть» в самый неожиданный момент. Чтобы этого не случилось, настроим автозапуск бота при старте сервера и его автоматический перезапуск при ошибках.

Это позволит боту стабильно работать даже в случае обнаружения багов. Вы сможете оперативно их исправить, а бот в это время продолжит отвечать на запросы.

Большинство современных Linux-систем используют systemd для управления службами, поэтому следующая инструкция подойдёт для последних версий Ubuntu, Debian и CentOS.

Для начала отключим бота командой:

Нам понадобится создать собственную службу, для этого в каталоге /lib/systemd/system создадим файл:

В нашем случае это будет файл /lib/systemd/system/keksbot.service . В файл поместим следующий код:

Текст в некоторых строках необходимо отредактировать относительно вашего проекта. Разберём строки, на которые нужно обратить внимание.

В поле Description указывается описание службы. Вы можете указать в ней краткую информацию о боте.

Команда для запуска бота.

Её следует поменять, если имя скрипта вашего бота отличается от index.js . В таком случае нужно будет указать следующие значения:

Папка со скриптом, который мы запускаем. В нашем случае это /opt/keksbot/ .

Сохраняем файл. В примерах далее мы будем использовать имя службы keksbot — если вы указали другое имя, не забудьте поменять его. Для установки службы воспользуемся командами:

Теперь запустим бота командой:

Готово. Теперь бот будет автоматически запускаться при старте сервера или при возникновении ошибок. Можно проверить это, завершив процесс node:

Через пять секунд бот автоматически перезапустится.

Помимо запуска мы можем управлять ботом командами:

Источник

Оцените статью