@StenMarsh1337

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

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

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

Войти через центр авторизации
Похожие вопросы