Вялый бот работает python функций - PullRequest
0 голосов
/ 27 февраля 2020

Я создаю Slack Bot, я успешно установил его, хотя я не уверен на 100%, что делает ngrok, чтобы запустить его, когда у меня локально работает сервер узлов. Я следовал этому руководству .

У меня есть скрипт python, который:

  1. Подключается к базе данных
  2. Загружает всю таблицу и создает pandas фрейм данных

В этом скрипте я объявил много переменных, которые получают определенную c информацию из фрейма данных.

Например:

monday_sales = sum((df['sale_event_time']>=week) & (df['sale_event_time']<=today_real) & ((df['sale_event_time'].apply(lambda x:x.isoweekday()))==1))

Это просто возвращает количество продаж, которое я имел в понедельник с фрейма данных.

Моя цель - подключить слабого бота к моему сценарию python, в основном позволяя запускать /monday_sales в режиме ожидания, что выведите число, которое содержит переменная monday_sales.

Я не использовал большую часть узла или js, поэтому связать все вместе я нахожу немного сложным.

Сначала я запускаю ngrok как так:

./ngrok http 4390

Затем я запускаю сервер узлов локально (?)

var http = require('http');
const PORT=4390;
function handleRequest(request, response){
  response.end('My bot is ALIIIIIIVEEEEE');
}
var server = http.createServer(handleRequest);
server.listen(PORT, function(){
  console.log("Server listening on: http://localhost:%s", PORT);
});

И когда я запускаю /ngrok в состоянии бездействия, он печатает 'Мой бот ALIIIIIIVEEEEE, хотя виден только мне.

Таким образом, вопрос можно разделить на несколько:

  1. Почему я должен ed ngrok и node.js сервер, работающий локально?
  2. Как я могу вызвать python функции / переменные из слабого бота.
  3. Есть ли лучший способ, чтобы слабый бот работал только на python без узла, ngrok?

Большое спасибо за ваши предложения.

1 Ответ

0 голосов
/ 27 апреля 2020

Я думаю, что вам лучше всего отказаться от этого урока и Node, поскольку кажется, что вы используете его только в качестве оболочки ngrok. Вместо этого, поскольку остальная часть вашего бота находится в Python, просто используйте pyngrok (полное раскрытие, я разработчик), который является Python оболочкой для ngrok. Это дает вам программный c доступ к туннелям и все остальное.

Если это решит ваш вариант использования, вы можете проверить документы здесь .

...