# Размещение бота на своём сервере
Тут тоже достаточно всё просто. Если вы не хотите публиковать своего бота на GitHub\’e, вы можете использовать BitBucket.
Регестрируемся. Создаем репозиторий, нажав на плюсик слева.
Называем репозиторий как хотим, тут всё так же, как и на GitHub.
После чего, заходим так же в свой проект с ботом. И добавляем в Git, ссылку на этот репозиторий.
У вас должна быть другая ссылка на репозиторий. Кликните на \»I have an existing project\» и ниже указана команда с вашим репозиторием.
Пушим всё на BitBucket репозиторий. На своём сервере клонируем репозиторий с BitBucket и любые изменения просто скачиваем командой:
Где точно не удастся запустить JimBot?
- На любом типе бесплатного хостинга. Бесплатных хостингов не бывает.
- На платном шаред-хостинге. Такой хостинг предназначен только для сайтов. Никаких программ запускать на нем нельзя.
- На VDS с системой виртуализации VDSManager на базе freebsd. «Потому что java-приложение jimbot в силу своего устройства приводит к нарушению системы ограничения процессорного времени для процессов (так как потребляет ресурсы постоянно) и при запуске в большом количестве приводит к замедлению работы скриптов других пользователей.» (цитата отсюда).
Другие варианты размещения JimBot на сервере обсуждаются на форуме.
Устанавливем Flask и UWSGI
Бота будем писать на микрофреймворке flask, который позволит нам сократит время на разработку. Для перенаправления запросов с nginx на flask будем пользоваться uwsgi.
Для начала запустим простую страничку в Flask и попробуем достучаться к ней через nginx.
В папке с проектом создадим наш главный файл в котором будет хранится код.
Так же напишем скрипт, который будет запускать наше Flask приложение.
Оба файла находятся в папке с проектом.
Запускам uwsgi командой:
Если все прошло успешно, вы, перейдя в своем браузере по адресу вашего сервера и порт 5000 должны увидеть It’s working.
Теперь напишем конфиг файл, чтобы Flask приложение поднималось само, даже если сервер перезагрузится.
Сначала выйдем из нашего окружения.
Потом создадим .ini конфиг для uwsgi в папке с ботом по пути.
Конфиг задает количество процессов, имя сокета, права и файл для логирования.
Так же создадим папку для логов и сделаем ее владельцем себя.
Создадим так же systemd unit файл, для атвоматизации запуска нашего бота.
и сам файл
Теперь после ввода команды, мы должны увидеть сокет файл в нашей папке проекта.
Мы так же можем проверить работу с помощью просмотра логов в папке и статуса сервиса.
Разговорный бот для Вконтакте на PHP / Хабр
Немного раньше я познакомился с одним интересным проектом от компании «Наносемантика», которая занимается подобными задачами и создает, вроде, комерческих ботов-саппортов и прочее. Этот проект — iii.ru. На сайте проекта можно создать бота и получить его flash-версию для вставки на сайте. API у них не было, пришлось декомпилировать swf.
Было создано следующие файлы:
— index.php (работает как клиент, обновляющий с помощью jquery файл с подгрузкой пришедших сообщений и последующим ответом)
— autoload.php (собственно, тот файл, который принимает и отвечает)
— showmeid.php (файл, который создает новый ID чата, если собеседник впервые общается с ботом)
— config.php (коннект к базе данных с клиентами бота)
— classes.php (классы для работы с ботом)
Итак, прошу знакомиться — Лариса Чернышова
А также исходники на GitHub.
UPD: Если бот не отвечает — значит блокируется отправка сообщения просьбой ввести капчу.
За подробностями и вопросами — добро пожаловать ко мне в блог
Страница 1 из 31
Немного функционала
Напишем функцию, которая будет опрашивать наш CS сервер и выдавать информацию по нему.
Для начала установим наш модуль для работы с valve серверами. Не забудьте перейти в окружение перед установкой.
Теперь в коде определим новую функцию, которая будет генерить строку ответ и возвращать ее нам, для отправки пользователю.
Код сам по себе не сложен, но давайте разберем.
Сначала задаем адрес и порт сервера и создаем объект.
В функции достаем общую информацию и инфу об игроках. Заносим данные в строку answer и проходимся по массиву пользователей добавляя в новую строку данные о солдатах с количеством очков и временем проведенным на сервере. Возвращаем строку ответ.
Названия полей (player_count, max_players и остальные можно посмотреть в коде модуля на github https://github.com/Holiverh/python-valve/blob/master/valve/source/a2s.py)
Осталось отправлять полученную строку сообщение пользователю. Для этого правим строку bot.send_message
Перезапускаем нашего бота.
Команды php для обработки сообщений и тестирование бота
Большинство инструкций в интернете для приложения телеграм предлагают для таких целей способы, в которых после каждой команды вам потребуется вбивать текст сообщения, а это не особенно удобно.
Поэтому более рационально сделать так, чтобы bot сам запоминал и писал команды, которые вы записали для telegram в php.
Для этого перед отправкой сообщений вам потребуется разместить их в хранилище, а перед приемом проверять, в наличии ли данные хранилища:
- Первым делом опишите точку доступа к контролеру.
- Выберите нужный метод из предложенных вариантов.
Если шаги осуществить правильно, то работать с приложением будет намного проще, интерактивней и удобней.
В данной статье мы изложили основные этапы установки приложения для телеграм в php. Вам остается их внимательно изучить и произвести действия согласно инструкции.
Как написать чат-бота для vk.com за 3 минуты / Хабр
К сожалению, на данный момент нет хороших библиотек на Python2, для того, чтобы быстро создать чат-бота. Ниже я покажу, как легко можно написать примитивного чат бота для VK, используя API VK.
Статья написана для новичков, чтобы показать, что ничего сложного в написании ботов на Python нет.
Авторизация
Нам понадобится библиотека vk_api. Авторизоваться в вк можно двумя способами:
— Как пользователь
— Как сообщество
В первом случае надо будет ввести логин и пароль. Во втором случае в группе надо включить «Сообщения сообщества» и создать ключ доступа к API:
Авторизация в две строчки:
Отправка сообщений
Теперь напишем короткую функцию, которая отправляет сообщение выбранному человеку.
P.S. Сообщество может отправлять сообщения только ранее писавшим пользователям.
В vk.method мы можем вызывать любой метод из VK API и передавать параметры в виде словаря.
В данном случае мы вызываем метод messages.send и в качестве параметров передаем id пользователя и текст сообщения.
Прием сообщений
Отлично! Отправлять сообщения мы научились, осталось научиться их принимать. Для этого нам нужен метод messages.get.
Несколько параметров, на которые стоит обратить внимание:
1) out — если этот параметр равен 1, сервер вернет исходящие сообщения.
2) count — количество сообщений, которое необходимо получить.
3) time_offset — максимальное время, прошедшее с момента отправки сообщения до текущего момента в секундах.
4) last_message_id — идентификатор сообщения, полученного перед тем, которое нужно вернуть последним (при условии, что после него было получено не более count сообщений)
В нашем случае этот метод вернет все полученные сообщения за последние 60 сек, если их конечно было меньше 100, а если больше, то последние 100.
В итоге мы получаем список items:
Если объяснять простыми словами, то items — это то, что можно выделить в диалоге.
Финальный аккорд, делаем вечный цикл, где на каждое сообщение будем отвечать «Привет, Хабр!».
Чат-бот готов.
P.S. Мы запоминаем параметр last_message_id, чтобы в следующий раз обрабатывать только новые сообщения.
Получилось 17 строк кода. Успехов!
Создан, чтобы помогать
Для чего же нужен текстовый собеседник? Говоря формальным языком, он должен выявить вашу потребность или проблему и удовлетворить / решить её. Чаще всего в чат-ботах нуждаются компании, когда техподдержка начинает страдать от наплыва однотипных запросов. Собрав все популярные «боли» клиентов, можно создать автоматического помощника с готовыми ответами и решить множество проблем.
Если вы уже нацелились на разработку своего чат-бота, то нужно определиться, будет ли он простейшим или продвинутым. Следующий этап будет состоять из сбора данных, их обработки и структурирования, создания программы по автоматическому поиску ответов (для простейшего варианта) или обучения нейросети (для продвинутого варианта). Сюда же входит разработка интерфейса собственного чата, но этот шаг можно пропустить, если вы используете готовые виджеты или мессенджеры. К тому же, необходимо обеспечить круглосуточную доступность и отказоустойчивость — в этом вам поможет удалённый сервер или хостинг.
После всех локальных подготовок и тестов можно приступить к выбору хостинга для чат-бота.
Как поставить бота вк на хостинг
Где найти место для проживания своего сайта? Конечно, в интернете. Такую возможность предоставляет хостинг, это своеобразная «аренда квартиры» для расположения сайта
Вам выделяется специальное место, позволяющее разместить подробную информацию о своих товарах и услугах, вы сможете привлечь внимание потенциальных потребителей, ваши предложения будут доступны круглосуточно как поставить бота вк на хостинг
Дорого ли стоит хостинг сайтов? Опытные люди знают, что экономить на размещении сайта нельзя. Имеет смысл обратиться к профессионалам, которые посоветуют место для расположения сайта. Платный hosting обеспечивает бесперебойный доступ к вашей информации, следовательно, он постоянно работает для вашего блага. Вы сможете развить свой бизнес, получить хорошую прибыль.
Позвольте себе профессиональный хостинг сайта. Он окупится очень быстро, потому что будет работать круглосуточно, постоянно информировать посетителей о предложениях и услугах вашего предприятия. Разработку сайта стоит доверять специалистам, обладающим достаточным опытом и знаниями, таким образом вы сможете продвинуть свой бизнес, получить прибыль.
Именно как поставить бота вк на хостинг
Для того, чтобы развиваться и расширяться, потребуется грамотный хостинг сайта. Он обеспечивает постоянный доступ к вашему ресурсу, круглосуточно оповещает посетителей об услугах вашей компании. Следовательно, хостинг с доступом ssh ваш сайт работает в режиме круглосуточного доступа для посетителей. О вас узнают клиенты разного возраста, проживающие в любом городе.
Хостинг предоставляет бесконечные возможности для развития вашего бизнеса, он обеспечивает постоянный доступ к вашему сайту, отсутствуют территориальные ограничения. При грамотном размещении сайта у вас появляется шанс увеличить доходность своего предприятия. Не стоит экономить на профессиональном размещении, это затраты способны быстро окупиться.
Профессиональный хостинг позволяет находиться в постоянном поле зрения клиентов. Они смогут посетить ваш ресурс днем и ночью, в любой день для потенциальных покупателей доступна информация, ваш бизнес не ограничится рамками своего города. Ваши контакты будут доступны жителям любых стран, почему хостинг провайдер блокирует сайт вы сможете оперативно донести информацию о своей деятельности до потребителей.
# Запуск бота на своём сервере
После того как вы склонировали репозиторий и установили все зависимости на вашем сервере, вам остается запустить бота в фоновом режиме — Запуск Node.js в фоновом режиме.
Или же есть еще два варианта запуск бота:
- Nodemon — следит за любыми изменениями в файле и перезапускает бота (скрипт).
- Docker — более сложный, но грамотный вариант для запуска бота. При правильной настройке Docker-контейнера, можно поставить автоматически запуск при фейле бота.
Если у вас бот не запустился, проверьте логи, командой .
Если вы рассчитываете на халяву от Heroku и ожидаете, что ваш бот будет хоститься на их сервере, то мне придётся вас огорчить. Ваш бот будет работать 30 секунд, после чего отключается. Переодично включается, когда как. В общем, Heroku подходит для теста бота в «боевом режиме».
Это уже 6 или 7 статья по разработке телеграм ботов. Думаю, мой блог скоро превратится в \»блог о программировании телеграм ботов\». Что самое странное, я написал больше 55 статей про разные темы, но 90% запросов из поисковых систем, связаны с телеграм ботами. Тем не менее приложу к этой статье несколько своих статей по Telegram.
- NodeJS: Делаем кнопки в Telegram API (inline-keyboards)
- Полезные чаты Telegram для веб-разработчиков
- Node.JS: Делаем своего Telegram бота