SELECT username FROM users ORDER BY balli DESC LIMIT 10
. Этим запросом получишь первые 10 пользователей по баллам.Теперь ботам разрешено связываться с пользователями, отправившими запрос на присоединение к чату, где бот является администратором с правами администратора can_invite_users , даже если пользователь никогда раньше не взаимодействовал с ботом.
tel:77777777777
или tel://77777777777
, но телеграм блокирует такие ссылки. Если попытаться отправить в другом приложении (например СМС, то все ок).import telebot
import random
import config
from telebot import types
from random import choice
bot = telebot.TeleBot(config.TOKEN)
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton('Расписание')
markup.add(item1)
@bot.message_handler(commands='start')
def welcome(message):
pic = open(r'aitvaro.jfif', 'rb')
bot.send_photo(message.chat.id, pic)
bot.send_message(message.chat.id, 'Привет, {0.first_name}! Я -<b>{1.first_name}</b>, Бот-помощник для учеников "Айтваро Гимназии"\nМогу подсказать расписание, даты каникул, фильм на вечер и многое другое'.format(message.from_user,bot.get_me()),
parse_mode='html', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def raspisanie(message):
if message.chat.type == 'private':
if message.text == 'Расписание':
markup2 = types.InlineKeyboardMarkup(row_width=2)
item21 = types.InlineKeyboardButton('1a', callback_data='1a')
item22 = types.InlineKeyboardButton('1b', callback_data='1b')
item23 = types.InlineKeyboardButton('1c', callback_data='1c')
item24 = types.InlineKeyboardButton('1d', callback_data='1d')
item25 = types.InlineKeyboardButton('2a', callback_data='2a')
item26 = types.InlineKeyboardButton('2b', callback_data='2b')
item27 = types.InlineKeyboardButton('2c', callback_data='2c')
item28 = types.InlineKeyboardButton('2d', callback_data='2d')
markup2.add(item21, item22, item23, item24, item25, item26, item27, item28)
bot.send_message(message.chat.id, 'Выбери свой класс', reply_markup=markup2)
else:
bot.send_message(message.chat.id, 'Я не понял этого сообщения')
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
pic1a = open('1a.png', 'rb')
pic1b = open('1b.png', 'rb')
pic1c = open('1c.png', 'rb')
pic1d = open('1d.png', 'rb')
pic2a = open('2a.png', 'rb')
pic2b = open('2b.png', 'rb')
pic2c = open('2c.png', 'rb')
pic2d = open('2d.png', 'rb')
try:
if call.message:
if call.data =='1a':
bot.send_message(call.message.chat.id, pic1a, 'Расписание "1а" класса')
elif call.data =='1b':
bot.send_message(call.message.chat.id, pic1b, 'Расписание "1б" класса')
elif call.data == '1c':
bot.send_message(call.message.chat.id, pic1c, 'Расписание "1с" класса')
elif call.data =='1d':
bot.send_message(call.message.chat.id, pic1d, 'Расписание "1д" класса')
elif call.data =='2a':
bot.send_message(call.message.chat.id, pic2a, 'Расписание "2а" класса')
elif call.data == '2b':
bot.send_message(call.message.chat.id, pic2b, 'Расписание "2б" класса')
elif call.data =='2c':
bot.send_message(call.message.chat.id, pic2c, 'Расписание "2с" класса')
elif call.data =='2d':
bot.send_message(call.message.chat.id, pic2d, 'Расписание "2д" класса')
else:
('Такого класса нет в списке')
except Exception as e:
print(repr(e))
@bot.message_handler(commands=['start'])
def welcome(message):
sti = open('imagine/sticker.webp', 'rb')
bot.send_sticker(message.chat.id, sti)
#КЛАВИАТУРА 1
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard =True)
item = types.KeyboardButton("\N{world map}")
markup.add(item)
bot.send_message(message.chat.id, "Привет! /help".format(message.from_user,bot.get_me()),
parse_mode='html', reply_markup=markup)
@bot.message_handler(commands=['help'])
def hi1(message):
bot.send_message (message.chat.id, "Наберите команду /go или /we")
@bot.message_handler(commands=['go'])
def go(message):
#КЛАВИАТУРА 2
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard =True)
item1 = types.KeyboardButton("\N{baby}")
item2 = types.KeyboardButton("\N{girl}")
item3 = types.KeyboardButton("\N{man}")
markup.add(item1, item2, item3)
bot.send_message(message.chat.id, "Возраст?", reply_markup=markup)
bot.register_next_step_handler(go1)
@bot.message_handler(content_types=['text'])
def hi(message):
if message.chat.type == 'private':
if message.text == '\N{world map}':
mesg = bot.send_message(message.chat.id, 'наберите команду /go')
if message.text == '/go':
bot.register_next_step_handler(mesg, go)
else:
bot.send_message(message.chat.id, 'Не знаю, что и ответить \N{anguished face} \nНабери команду /help, чтобы ознакомиться со списком команд')
def go1(message):
if message.chat.type == 'private':
if message.text == '\N{baby}':
#КЛАВИАТУРА 3
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard =True)
item1 = types.KeyboardButton("игры")
item2 = types.KeyboardButton("деньги")
item3 = types.KeyboardButton("телки")
markup.add(item1, item2, item3)
bot.send_message(message.chat.id, 'Окей, кого вы любите больше?')
bot.register_next_step_handler
и общей сложности вопроса.def lala(message):
if kolvoLet == 0: # На самом деле, можно и не делать, если возраст не привязан к ответам, просто в вопросе было 0 лет
if chtoTamUTebya == 'любишь играть':
pass # Здесь соответственно на «любишь играть»
elif chtoTamUTebya == 'любишь петь':
pass # Здесь соответственно на «любишь петь»
# И попер так дальше по всем вариантам.