sprint/daemons/management/commands/bot.py
Egor Matveev 59cb3792f8 daemons
2022-03-13 23:04:29 +03:00

87 lines
3.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import os
import telebot
from django.contrib.auth.models import User
from django.core.management.base import BaseCommand
from telebot.types import Message
from Main.models import UserInfo
# инстанс бота
bot = telebot.TeleBot(os.getenv("TELEGRAM_TOKEN"))
@bot.message_handler(commands=["start"])
def do_action(message: Message):
bot.send_message(
message.chat.id,
"Привет! Я тут чтобы помогать!\n/register - зарегистрироваться в сервисе\nБольше команд нет:(",
)
@bot.message_handler(commands=["register"])
def register(message: Message):
username = message.from_user.username
if username == "" or message.from_user.username is None:
bot.send_message(
message.chat.id, "Добавть имя пользователя к своему телеграм аккаунту"
)
return
ui = UserInfo.objects.filter(telegram_chat_id=message.chat.id).first()
if ui:
bot.send_message(message.chat.id, "Ты уже зарегистрировался")
return
user = User.objects.create(username=username)
ui = UserInfo.objects.create(user=user, telegram_chat_id=message.chat.id)
name = message.from_user.first_name
surname = message.from_user.last_name
if surname is None or surname == "" or name is None or name == "":
bot.send_message(
message.chat.id,
"Приветствую в Sprint! Сейчас я помогу тебе создать аккаунт.\nДля начала отправь мне свою фамилию",
)
else:
ui.surname = surname
ui.name = name
ui.verified = True
ui.save()
bot.send_message(
message.chat.id,
f"Регистрация завершена! Теперь можешь ты можешь войти в сервис под именем пользователя: {user.username}",
)
@bot.message_handler(content_types=["text"])
def do_action(message: Message):
user = User.objects.filter(userinfo__telegram_chat_id=message.chat.id).first()
if not user:
bot.send_message(
message.chat.id,
"Зарегистрируйся в сервисе, чтобы взаимодействовать со мной",
)
return
if user.userinfo.surname is None:
user.userinfo.surname = message.text
user.userinfo.save()
bot.send_message(message.chat.id, "Отлично! Теперь отправь мне свое имя")
elif user.userinfo.name is None:
user.userinfo.name = message.text
user.userinfo.verified = True
user.userinfo.save()
bot.send_message(
message.chat.id,
f"Регистрация завершена! Теперь можешь ты можешь войти в сервис под именем пользователя: {user.username}",
)
else:
bot.send_message(message.chat.id, "Я пока больше ничего не умею")
class Command(BaseCommand):
help = "starts bot"
def handle(self, *args, **options):
print("bot is starting")
bot.polling()
print("bot failed")