Image

(最終更新日: 19.09.2024)

Pythonで書かれたランダム数生成ボットの動作確認を行うために、事前に設定されたTelegramボットサーバーを使用しました。このボットは、指定した範囲内でランダムな数を生成します。

インストールを開始します:

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)

# 結果を表示 (ランダム数の生成)
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



No Comments Yet