from unittest.mock import call
from telebot.types import ReplyKeyboardMarkup, KeyboardButton, InlineKeyboardMarkup, InlineKeyboardButton
from telebot import types
from requests import get
import openai
import telebot
from io import BytesIO
from PIL import Image
from telebot import util
# Установка API-ключа OpenAI
openai.api_key = ""
# Создание объекта TeleBot с помощью токена API Telegram
bot = telebot.TeleBot("")
# Создание списка пользователей с правами администратора
admins = [""]
# Создание кнопок для бота
reply_keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
help_button = KeyboardButton('Help')
premium_button = KeyboardButton('Premium')
reply_keyboard.add(help_button)
reply_keyboard.add(premium_button)
# Создание кнопок для премиум-панель
keyboard = InlineKeyboardMarkup()
button1 = InlineKeyboardButton("Тест1", callback_data="button1")
keyboard.add(button1)
# Определение команды для администраторов и соответствующей функции обработчика
@bot.message_handler(commands=['admin'])
def admin_panel(message):
# Проверка, что пользователь является администратором
if str(message.from_user.id) not in admins:
bot.reply_to(message, "У вас нет прав администратора")
return
# Обработка нажатия кнопки
if call.data == 'button1':
bot.answer_callback_query(call.id, "Вы нажали кнопку 1")
# Обработка команды /start
@bot.message_handler(commands=['start'])
def send_welcome(message):
# Отправка приветственного сообщения и кнопок для бота
bot.reply_to(message, "Привет! Я SmartBot - бот на базе искусственного интеллекта. Я готов помочь тебе в любых вопросах и задачах. Давай начнем!", reply_markup=reply_keyboard)
# Обработка команды /help
@bot.message_handler(commands=["help"])
def send_help(message):
# Отправка информации о боте и кнопок для бота
bot.reply_to(message, "SmartBot - это телеграм-бот на базе искусственного интеллекта, который позволяет пользователям задавать вопросы на естественном языке и получать ответы, сгенерированные с помощью OpenAI API. Он может выполнять различные задачи, включая предоставление рекомендаций, прогнозов погоды и новостей.", reply_markup=reply_keyboard)
# Работает команда /premium
@bot.message_handler(commands=["premium"])
def send_vip(message):
# Отправка информации о вип меню
bot.replay_to(message, "Premium Menu Information\n\tImproved the query search\n\tA more accurate answer\n\tPremium version:1.0\n\tCan make a cheat for any game")
# Обработка сообщений от пользователя
@bot.message_handler(func=lambda message: True)
def send_answer(message):
# Получение вопроса пользователя из сообщения
user_question = message.text
# Генерация ответа с помощью OpenAI API
response = openai.Completion.create(
engine="text-davinci-003",
prompt=user_question,
max_tokens=2000,
n=1,
stop=None,
temperature=0.5,
)
# Получение текста ответа из объекта Response OpenAI API
answer = response.choices[0].text
# Отправка ответа пользователю
bot.reply_to(message, answer)