Задать вопрос
@StenMarsh1337

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

Подскажите как сделать проверку авторизации по chat_id и приоритет на id-группы, например 1-Admin(выскакивает меню Админка)
2-Пользователь(выскакивает приветствие).
  • Вопрос задан
  • 7767 просмотров
Подписаться 1 Средний 2 комментария
Решения вопроса 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Вот самый простой код. Пишете боту команду /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: Скорее всего за вас код никто писать не будет, потому что вы тогда ничего не поймете.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽