@Sanic1

Как наложить коэфициент то есть число на картинку?

Мне нужно создать бота на подобии этого ,если сможете то напишите пожалуйста код что бы бот был +- таким как
фотке(внизу я написал примерный код но он неудачный)я не могу сделать так что бы на моей картинке то есть фоновой писался коэфициент ,написал так что бы бот писал коэфициент в виде текста снизу и картинка ,но надо сделать так что бы коэфициенты,которые будет давать бот показывались только на картинке и внизу этого сообщения была кнопка следующий раунд
Оставил код свой снизу кто нибудь если сможет написать такого бота как на картинке или исправить мой код что бы коэфициенты были на картинке был бы безумно рад, .В идеале что бы человек просто написал код и скинул сюда что бы оставалось указать путь к картинке и поменять и токен)А так спасибо еще раз если просто исправите либо обьясните как это сделать ,уже 3 дня парюсь:)

663a50591e981363063312.jpeg

import random
import sqlite3
import telebot
from telebot import types

# Подключение к Telegram API
bot = telebot.TeleBot('мой токен')

# Функция для генерации рандомного коэффициента
def generate_random_odd():
# Логика для генерации коэффициента, как в вашем предыдущем коде
rand = random.random()
if rand < 0.5:
return round(random.uniform(1.0, 2.0), 2)
elif rand < 0.8:
return round(random.uniform(2.0, 3.0), 2)
elif rand < 0.9:
return round(random.uniform(3.0, 8.0), 2)
elif rand < 0.97:
return round(random.uniform(8.0, 15.0), 2)
elif rand < 0.99:
return round(random.uniform(15.0, 50.0), 2)
else:
return round(random.uniform(50.0, 5000.0), 2)

# Функция для создания изображения с коэффициентом
def create_odd_image(odd):
# Загрузка изображения background_image.jpg
image = open('background_image.jpg', 'rb')
return image

# Приветственное сообщение при запуске бота
@bot.message_handler(commands=['start'])
def start(message):
bot.reply_to(message, 'Привет! Вы можете получить доступ к прогнозам. Нажмите кнопку "Получить коэффициент", чтобы начать.', reply_markup=get_odd_button())

# Клавиатура с кнопкой "Получить коэффициент"
def get_odd_button():
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
keyboard.add('Получить коэффициент')
return keyboard

# Обработка нажатия кнопки "Получить коэффициент"
@bot.message_handler(func=lambda message: message.text == 'Получить коэффициент')
def send_odd(message):
# Генерация рандомного коэффициента
odd = generate_random_odd()

# Сохранение коэффициента в базе данных SQLite
with sqlite3.connect('odds.db') as conn:
cursor = conn.cursor()
cursor.execute('INSERT INTO odds (odd) VALUES (?)', (odd,))
conn.commit()

# Отправка изображения с коэффициентом
bot.send_photo(message.chat.id, create_odd_image(odd), caption=f'Ваш коэффициент: {odd}', reply_markup=next_odd_button())

# Функция для создания клавиатуры с кнопкой "Следующий коэффициент"
def next_odd_button():
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
keyboard.add('Следующий коэффициент')
return keyboard

# Обработка нажатия кнопки "Следующий коэффициент"
@bot.message_handler(func=lambda message: message.text == 'Следующий коэффициент')
def send_next_odd(message):
# Получение последнего коэффициента из базы данных SQLite
with sqlite3.connect('odds.db') as conn:
cursor = conn.cursor()
cursor.execute('SELECT odd FROM odds ORDER BY id DESC LIMIT 1')
odd = cursor.fetchone()[0]

# Генерация следующего рандомного коэффициента
next_odd = generate_random_odd()

# Отправка изображения с следующим коэффициентом
bot.send_photo(message.chat.id, create_odd_image(next_odd), caption=f'Ваш следующий коэффициент: {next_odd}', reply_markup=next_odd_button())

# Подключение к базе данных SQLite и создание таблицы коэффициентов (если она не существует)
with sqlite3.connect('odds.db') as conn:
cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS odds (
id INTEGER PRIMARY KEY AUTOINCREMENT,
odd REAL NOT NULL
)''')
conn.commit()

# Запуск бота
bot.polling()
  • Вопрос задан
  • 17 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы