Статья Бот заявок [TELEGRAM]

TimurkaBeats

Команда Форума
Модератор
Сообщения
137
Реакции
73
Хай АнонимЧитец! А сегодня я солью код по заявкам

К сожалению скрины пока что отправить не могу:(

Переходим к коду:

Создаём файлик main.py и пишем код:

Python:
import telebot
import database
import keyboard

bot = telebot.TeleBot(токен сюда)#token
adminId = 'сюда админ id'

@bot.message_handler(commands=['start'])
def welcome(message):
    chat_id = message.chat.id
    try:
        if not database.user(chat_id):
            database.add_user(chat_id)
            bot.send_message(chat_id, 'Приветствую, этот под создан для подачи заявок в проект Al3f Team', reply_markup=keyboard.start())
        elif database.ban(chat_id) == 1:
            bot.send_message(chat_id, ' Вы заблокированы!')
        elif database.verif(chat_id) == 0:
            bot.send_message(chat_id, 'Вам необходимо подать заявку!', reply_markup=keyboard.start())
        elif database.verif(chat_id) == 1:
            bot.send_message(chat_id, 'Ваша заявка на данный момент находится на проверку!')
        else:
            bot.send_message(chat_id, f'{message.chat.first_name}, выбирите направление ниже!', reply_markup=keyboard.main())
    except:
        bot.send_message(chat_id, 'Произошла незивастная ошибка!')

@bot.message_handler(content_types=['text'])
def message(message):
    chat_id = message.chat.id
    try:
        if not database.user(chat_id):
            database.add_user(chat_id)
            bot.send_message(chat_id, 'Приветствую, этот под создан для подачи заявок в проект Al3f Team', reply_markup=keyboard.start())
        elif database.ban(chat_id) == 1:
            bot.send_message(chat_id, ' Вы заблокированы!')
        elif database.verif(chat_id) == 0:
            bot.send_message(chat_id, 'Вам необходимо подать заявку!', reply_markup=keyboard.start())
        elif database.verif(chat_id) == 1:
            bot.send_message(chat_id, 'Ваша заявка на данный момент находится на проверку!')
        else:
            bot.send_message(chat_id, f'{message.chat.first_name}, выбирите направление ниже!', reply_markup=keyboard.main())
 

@bot.callback_query_handler(func=lambda call:True)
def answer(call):
    chat_id = call.message.chat.id
    try:
        if (call.data == 'start'):
            if database.verif(chat_id) == 0:
                bot.edit_message_text(chat_id=chat_id, message_id=call.message.message_id, text='Желаемый логин в проекте: ')
                bot.register_next_step_handler(call.message, login)
            else:
                bot.delete_message(chat_id=chat_id, message_id=call.message.message_id)
        elif (call.data == 'accept'):
            accept(call)
        elif (call.data == 'inaccept'):
            inaccept(call)
        elif (call.data == 'inacceptban'):
            inacceptban(call)
    except:
        bot.send_message(chat_id, 'Произошла неизвестая ошибка!')

def login(message):
    login = message.text
    bot.send_message(message.chat.id, 'Отлично! Какой у вас опыт в данной сфере?')
    bot.register_next_step_handler(message, opit, login)

def opit(message, login):
    opit = message.text
    bot.send_message(message.chat.id, 'Отлично! Сколько времени готовы уделять работе?')
    bot.register_next_step_handler(message, время, opit, login)

def время(message, opit, login):
    время = message.text
    database.update_verif(message.chat.id, 1)
    bot.send_message(message.chat.id, 'Ваша заявка была успешно отправлена! Ожидайте решения!')
    bot.send_message(admin, f'Новая заявка!\n\nLogin: {login}\nОпыт: {opit}\nВремени: {время}\n\nTelegram ID: {message.chat.id}\nUser Name: [User link](tg://user?id={message.chat.id})', parse_mode='Markdown', reply_markup=keyboard.otvet())

def accept(call):
    message = call.message.text.split('\n')

    user_id = message[6].split(':')
    user_id = user_id[1].replace(' ', '')
    database.update_verif(user_id, 2)
    bot.send_message(user_id, 'Поздравляем! Ваша заявка была успешно принята!', reply_markup=keyboard.main())
    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=f' Принята!\n\n{call.message.text}')

def inaccept(call):
    message = call.message.text.split('

У нас получился вот такой простенький бот (ну или не простенький)

Всем спасибо с вами был Timurkabeats!!
 
Верх Низ