Image

(Son değişiklik: 06.11.2024)

Python'da rastgele sayı üreteci botunun performansını test etmek için, önceden yapılandırılmış telegram bot sunucusu kullandık. Bu bot, belirttiğiniz bir aralıktan rastgele bir sayı üretebilir.

Kuruluma geçelim:

source my-tel-bot/bin/activate

Demo botumuzu mevcut olanla değiştirelim:

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

import telebot
import random

# buton oluşturmak için
from telebot import types

bot = telebot.TeleBot('BotFather’dan alınan anahtar')

# /start komutundan sonra bir buton oluşturma
@bot.message_handler(commands=['start'])
def welcome(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
random_sender = types.KeyboardButton("Rastgele bir sayı gönder")
markup.add(random_sender)
bot.send_message(message.chat.id, 'Sayı üreteci başlatıldı', parse_mode='html',
reply_markup=markup)

# Buton tıklama takibi
@bot.message_handler(content_types=['text'])

def first_number_step(message):
if message.text == 'Rastgele bir sayı gönder':
msg = bot.send_message(message.chat.id, 'Aralığın başlangıcını girin')

# second_number_step fonksiyonuna geçiş yapalım
bot.register_next_step_handler(msg, second_number_step)
else:
bot.send_message(message.chat.id, 'Böyle bir komut yok')

# Aralığın ilk sayısını alma
def second_number_step(message):
global NUM_first
NUM_first = int(message.text)
msg = bot.send_message(message.chat.id, 'Aralığın sonunu girin')

# result_number_step fonksiyonuna geçiş yapalım
bot.register_next_step_handler(msg, result_number_step)

# Aralığın ikinci sayısını alma
def result_number_step(message):
global NUM_second
NUM_second = int(message.text)

# Sonuç fonksiyonunu çağırma result(message)
result(message)

# Sonuç çıkışı (rastgele)
def result(message):
bot.send_message(message.chat.id, 'Rastgele sayı: ' + str(random.randint(NUM_first, NUM_second)))

# Botu sürekli çalışır halde tutma
bot.polling(none_stop=True)

İşlem tamam, scriptte anahtar token’inizi belirtmeyi unutmayın ve servisi yeniden başlatın:

service my-tel-bot restart



No Comments Yet