@bot.message_handler(commands=["editphoto"])
def editfoto(message):
try:
kbi = telebot.types.InlineKeyboardMarkup()
btn = telebot.types.InlineKeyboardButton(text="Кнопка", callback_data='btn1')
kbi.add(btn) #!
foto1 = open('ozerx/botsend/photo1.png', 'rb')
bot.send_photo(message.chat.id, foto1, caption = "caption", reply_markup = kbi)
except:
bot.send_message(message.chat.id, "Бот не смог отправить фото!")
@bot.callback_query_handler(func=lambda call: True)
def clbk(call):
if call.data == 'btn1':
try:
foto2 = open('ozerx/botsend/photo2.png', 'rb')
bot.edit_message_media(media=telebot.types.InputMedia(type='photo', media=foto2, caption = "noitpac"), chat_id=call.message.chat.id, message_id=call.message.message_id)
except:
bot.send_message(call.message.chat.id, "Бот не смог изменить фото!")
import os #импортируем модуль "os"
@bot.message_handler(commands=["restart"]) #вызов по команде /restart; можно сделать и на кнопку
def restart(message):
pid = str(os.getpid()) #получаем ProcessID запущенного бота
restarter = open('restarter.bat', 'w') #открываем/создаем батник
restarter.write('Taskkill /PID ' + pid + ' /F\nTIMEOUT /T 5 /NOBREAK\ncd C:\\Users\\smp\\Desktop\\SMP\\\nsmp.py') #записываем скрипт в батник
restarter.close() #закрываем отредактированный батник
os.system('C:/Users/smp/Desktop/SMP/restarter.bat') #запускаем наш батник
import os
@bot.message_handler(commands=["stop"])
def stop(message):
if message.from_user.username == cfg.Father:
pid = str(os.getpid())
stoper = open('ozerx/stoper.bat', 'w')
stoper.write("Taskkill /PID " + pid + " /F")
stoper.close()
os.system('C:/Users/smp/Desktop/SMP/ozerx/stoper.bat')
else:
bot.send_message(message.chat.id, "Ты не Создатель бота; у тебя нет админ-прав, проваливай!")
# -*- coding: utf-8 -*-
#^^^Если используешь русский текст указывай кодировку на всякий случай.
import telebot
from telebot import types
token = 'здесьможетбытьвашатокешка'
bot = telebot.TeleBot(token)
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, 'Меня зовут бот. Чем могу вам помочь?') #Здесь не надо отсылать клавиатуру, тем более ту которая не создана!
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
kb = types.ReplyKeyboardMarkup()
kb.row('Калькулятор','Расписание')
kb.row('О нас','Помощь')
kb.row('Обратная связь')
bot.send_message(message.chat.id, 'К сожалению я еще не умею читать текст. Воспользуйтесь главным меню:', reply_markup=kb) #Отправка меню
#bot.send_message(message.chat.id, "Выберите пункт меню:", reply_markup=markup) - Эта строка вообще лишняя, главное меню отправляется строкой выше.
bot.polling(none_stop=True, interval=0)
@bot.message_handler(commands=["start"])
def inline(message):
key = types.InlineKeyboardMarkup()
but_1 = types.InlineKeyboardButton(text="NumberOne", callback_data="NumberOne")
but_2 = types.InlineKeyboardButton(text="NumberTwo", callback_data="NumberTwo")
but_3 = types.InlineKeyboardButton(text="NumberTree", callback_data="NumberTree")
key.add(but_1, but_2, but_3)
bot.send_message(message.chat.id, "ВЫБЕРИТЕ КНОПКУ", reply_markup=key)
@bot.callback_query_handler(func=lambda c:True)
def inline(c):
if c.data == 'NumberOne':
bot.send_message(c.message.chat.id, 'Это кнопка 1')
if c.data == 'NumberTwo':
bot.send_message(c.message.chat.id, 'Это кнопка 2')
if c.data == 'NumberTree':
key = types.InlineKeyboardMarkup()
but_1 = types.InlineKeyboardButton(text="NumberOne", callback_data="NumberOne")
but_2 = types.InlineKeyboardButton(text="NumberTwo", callback_data="NumberTwo")
but_3 = types.InlineKeyboardButton(text="NumberTree", callback_data="NumberTree")
key.add(but_1, but_2, but_3)
bot.send_message(c.message.chat.id, 'Это кнопка 3', reply_markup=key)