@bot.message_handler(commands=['sg'])
def sg(message):
msg = bot.send_message(message.chat.id, 'Великолепно, приступим... Начнем с знакомства! Как тебя зовут (Хватит Фамилии и Имени)')
bot.register_next_step_handler(msg, process_name_step)
def process_name_step(message):
name = message.text
bot.send_message(message.chat.id, f'Приятно познакомиться, {name}!')
import telebot
from telebot import types
bot = telebot.TeleBot('token')
file = open('./start1.jpg', 'rb')
@bot.message_handler(commands=['start'])
def start(message):
markup = types.InlineKeyboardMarkup()
markup.add(types.InlineKeyboardButton('Оценка', url='https://google.com'))
markup.add(types.InlineKeyboardButton('Кадастровые работы', callback_data='cadastral'))
markup.add(types.InlineKeyboardButton('Строительные экспертизы', callback_data='expertise'))
bot.send_photo(message.chat.id, file,
caption='Здравствуйте, это Бот-помощник группы компаний "Стандарт Оценка", я помогу Вам определиться с нужной услугой, оформить заявку и связаться с администратором. Выберете желаемую услугу',
reply_markup=markup)
@bot.callback_query_handler(func=lambda call: True)
def callback_message(call):
if call.data == 'cadastral':
bot.delete_message(call.message.chat.id, call.message.message_id)
bot.send_message(call.message.chat.id, 'Введите свое ФИО')
bot.register_next_step_handler(call.message, message_input_step)
elif call.data == 'expertise':
bot.send_message(call.message.chat.id, 'Вы выбрали Строительные экспертизы')
elif call.data == 'all':
bot.send_message(call.message.chat.id, 'Все данные верны')
def message_input_step(message):
global name
name = message.text
bot.send_message(message.chat.id, 'Введите свой номер телефона')
bot.register_next_step_handler(message, phone)
def phone(message):
global phone
phone = message.text
markup = types.InlineKeyboardMarkup()
markup.add(types.InlineKeyboardButton('Все верно✅', callback_data='all'))
markup.add(types.InlineKeyboardButton('Начать сначало❌', callback_data='cadastral'))
bot.send_message(message.chat.id, f'Ваше ФИО: {name}\nВаш номер телефона: {phone}', reply_markup=markup)
if __name__ == "__main__":
bot.polling(none_stop=True)
# cursor.execute(f'INSERT INTO sausages (user_name, product_type, product_type_amount) VALUES ({user_name}, {product_type}, {product_type_amount})')
cursor.execute('INSERT INTO sausages (user_name, product_type, product_type_amount) VALUES (?, ?, ?)', (user_name, product_type, product_type_amount))
item2 = types.KeyboardButton(text="Семья в России"),
bot.reply_to
это откуда? По идее, должно быть bot.send_message
, исправил код, допишите все нужные кнопки и попробуйте, должно заработать:@bot.message_handler(commands=["start"])
def start(message):
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
item1 = types.KeyboardButton(text="Основные документы гражданина Российской Федерации")
# прочее...
keyboard.add(item1, item2)
# прочее...
bot.send_message(
message.chat.id,
f"Привет",
f"{message.from_user.first_name}! Я бот, который поможет тебе. Что ты хочешь узнать..?",
reply_markup=keyboard)
Почему бот дважды выполняет команду (telebot)?
for user in range(users):
try:
bot.send_message(message.chat.id, msg)
TypeError
'NoneType' object is not subscriptable
File "C:\Users\Administrator\Desktop\Bot\Bot.py", line 21, in handle_message
photo=message.photo[-1] # Сохранение фото на ваш компьютер
File "C:\Users\Administrator\Desktop\Bot\Bot.py", line 35, in
bot.polling()
TypeError: 'NoneType' object is not subscriptable
if message.photo:
photo = message.photo[-1]
# other code
else:
bot.reply_to(message, 'Гони фотку.')
import telebot
token = "TOKEN"
bot = telebot.TeleBot(token)
@bot.message_handler(commands=['website'])
def send_video_link(message):
# url
video_url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ&ab_channel=RickAstley'
bot.send_message(message.chat.id, video_url)
@bot.message_handler(commands=['start'])
def send_welcome_message(message):
user_name = message.from_user.first_name
welcome_message = (
f'Привет, {user_name}!\n'
'Я с радостью поделюсь с тобой всей статистикой чемпионата F1. Просто отправь запрос!\n'
'Введи /help, если возникнут вопросы'
)
bot.send_message(message.chat.id, welcome_message)
# run bot
bot.infinity_polling()