Создаем бота Kaspa price telegram bot на Python3

Kaspa это молодая перспективная монета в криптотематике.

Установим Python3:

apt install python3

Поставим pip:

apt install python3-pip

pyTelegramBotAPI и telebot:

pip3 install pyTelegramBotAPI telebot requests

Нам нужна директория для бота:

mkdir /opt/kaspabot

Создадим файл с кодом бота:

nano /opt/kaspabot/kaspaprice.py

Добавим в него следующий код:

#!/usr/bin/env python3
import requests
import json
import telebot
import time

TOKEN = 'Тут ваш токен вашего созданного бота в Telegram'
bot = telebot.TeleBot(TOKEN)


@bot.message_handler(commands=['price'])
def send_price(message):
    url = 'https://api.kaspa.org/info/price'
    response = requests.get(url)
    data = json.loads(response.text)
    price = data['price']
    bot.send_message(message.chat.id, 'Цена Kaspa: {} USD'.format(price))
    pass


@bot.message_handler(commands=['help'])
def send_welcome(message):
        bot.reply_to(message, "Привет! Я бот, который покажет тебе стоимость монеты Kaspa. Напиши /price, чтобы узнать текущую стоимость.")


@bot.message_handler(func=lambda message: True)
def echo_all(message):
        bot.reply_to(message, message.text)


bot.polling()
# Use none_stop flag let polling will not stop when get new message occur error.
bot.polling(none_stop=True)
# Interval setup. Sleep 3 secs between request new message.
# bot.polling(interval=3)

while True: # Don't let the main Thread end.
    pass

Дадим файлу бота права:

chmod 777 /opt/kaspabot/kaspaprice.py

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

useradd --no-create-home -s /usr/sbin/nologin kaspabot

Создадим файл юнита:

nano /etc/systemd/system/kaspabot.service

Внесем в него следующий код:

[Unit]
    Description=Async Kaspa price for Telegram
    After=network-online.target
    Wants=network-online.target

[Service]
    ExecStart=/opt/kaspabot/kaspaprice.py
    AmbientCapabilities=CAP_NET_BIND_SERVICE
    LimitNOFILE=infinity
    User=kaspabot
    Group=kaspabot
    Restart=on-failure

[Install]
    WantedBy=multi-user.target

Теперь скажем нашей системе что kaspabot должен выполняться при старте:

systemctl enable kaspabot

Запустим нашего бота:

systemctl start kaspabot

Vps сервер для бота можно купить пройдя по ссылке, всего за 0.99$ https://bloguser.ru/link/prosody_vds

Api Kaspa находится по ссылке https://api.kaspa.org/docs

P.S Если код по вашему мнению не идеален, или метод реализации в целом, об этом можно написать в комментариях к записи.

Благодарность, если есть такое желание, можно отправить в монете KAS на адрес:

kaspa:qzmthphe9r4wxgaldmz4t82hgaw5ftlra6saywrtthqnk02en4f65cf80j9u2

Может быть вам будет интересно Оповещение о входе на сервер по ssh в telegram бот