@StenMarsh1337

Авторизация в телеграм боте?

Подскажите как сделать проверку авторизации по chat_id и приоритет на id-группы, например 1-Admin(выскакивает меню Админка)
2-Пользователь(выскакивает приветствие).
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
hottabxp
@hottabxp Куратор тега Python
Эксперт по BeautifulSoup(но это не точно!)
Вот самый простой код. Пишете боту команду /admin - а он отвечает в зависимости от ситуации. Например, если user_id есть в базе, и user_group_id = '1' - тогда бот приветствует админа, если user_group_id не равно '1', тогда бот приветствует пользователя. Если user_id вообще нет в базе - тогда пишет, что пользователь не зарегистрирован в базе.
import sqlite3
import telebot

token = 'ТОКЕН'

bot = telebot.TeleBot(token)

def getAccess(user_id):
	with sqlite3.connect('users.db') as conn:
		cursor = conn.cursor()
		cursor.execute('SELECT user_group_id FROM users WHERE user_id=?',(user_id,))
		result = cursor.fetchone()
		return result

@bot.message_handler(commands=['admin'])
def repeat_all_message(message):
	print(message.chat.id)
	bot.send_message(message.chat.id,message.text)

	access = getAccess(message.chat.id)

	if access:
		if access[0] == '1':
			bot.send_message(message.chat.id,'Привет Admin!')
		else:
			bot.send_message(message.chat.id,'Привет User!')
	else:
		bot.send_message(message.chat.id,'Вы не зарегистрированны в системе!')


if __name__ == '__main__':
	bot.polling(none_stop=True)

PS: У меня user_group_id является строкой, но можно сделать и int;
PS: Скорее всего за вас код никто писать не будет, потому что вы тогда ничего не поймете.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Fintech IQ Новосибирск
от 70 000 до 120 000 ₽
Аврора-ИТ Москва
от 80 000 до 160 000 ₽
Fintech IQ Новосибирск
от 140 000 ₽
21 окт. 2020, в 22:40
300 руб./за проект
21 окт. 2020, в 22:34
25000 руб./за проект
21 окт. 2020, в 21:24
7000 руб./за проект