Image

(Последнее изменение: 04.05.2024)

Для тестирования работоспособности бота - генератор случайных чисел на Python мы использовали готовый преднастроенный телеграм бот сервер. Данный бот умеет генерировать случайное числи из заданного Вами диапазона.

Приступим к установке:

source my-tel-bot/bin/activate

Заменим наш демо бот на существующий:

/root/my-tel-bot/bot.py

import telebot
import random

# для создания кнопок
from telebot import types

bot = telebot.TeleBot('Ключ полученный от @BotFather')

# Создание кнопки после команды /start
@bot.message_handler(commands=['start'])
def welcome(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
random_sender = types.KeyboardButton("Пришли случайное число")
markup.add(random_sender)
bot.send_message(message.chat.id, 'Генератор чисел запущен', parse_mode='html',
reply_markup=markup)

# Отслеживание нажатий кнопки
@bot.message_handler(content_types=['text'])

def first_number_step(message):
if message.text == 'Пришли случайное число':
msg = bot.send_message(message.chat.id, 'Введите начало диапазона')

# переход на функцию second_number_step
bot.register_next_step_handler(msg, second_number_step)
else:
bot.send_message(message.chat.id, 'Такой команды нет')

# Получение первого числа диапазона
def second_number_step(message):
global NUM_first
NUM_first = int(message.text)
msg = bot.send_message(message.chat.id, 'Введите конец диапазона')

# переход на функцию result_number_step
bot.register_next_step_handler(msg, result_number_step)

# Получение второго числа диапазона
def result_number_step(message):
global NUM_second
NUM_second = int(message.text)

# Вызов функции result(message)
result(message)

# Вывод результата (рандом)
def result(message):
bot.send_message(message.chat.id, 'Случайное число: ' + str(random.randint(NUM_first, NUM_second)))

# Чтобы бот работал постоянно
bot.polling(none_stop=True)

Готово, не забудьте указать Ваш токен ключ в скрипте и перезапустить службу:

service my-tel-bot restart



Нет комментариев