telegram бот на Django не работает асинхронно (async_telebot)

делаю активатор аккаунта на сайте через тг бота

но сначала запускается бот, а потом джанго, и бот уже не отвечает. знаю что таким способом возможно сделать чтоб и джанго отвечал и бот

views.py

from .tg_bot import bot

def signup(request):
    if request.method == "POST":
        form = UserCreationForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.is_active = False
            user.save()

            profile, created = Profile.objects.get_or_create(user=user)

            name_bot = 'nametg_bot'
            activation_url = f"https://t.me/{name_bot}?start={profile.telegram_activation_code}"
            return render(request, template_name="confirm_tg.html", context={"activation_url": activation_url})
    else:
        form = UserCreationForm()
    return render(request, template_name="signup.html", context={"form": form})

models.py

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile', null=True)
    telegram_username = models.CharField(max_length=255, verbose_name="телеграм username", null=True, blank=True)
    activation_code = models.CharField(max_length=32, default=uuid.uuid4, editable=False)
    telegram_activation_code = models.CharField(max_length=16, default=uuid.uuid4, editable=False)

    def __str__(self):
        return f'{self.telegram_username}'

    class Meta:
        verbose_name = "Пользователь"
        verbose_name_plural = "Пользователь"

@receiver(post_save, sender=User)
def create_or_update_user_profile(sender, instance, created, **kwargs):
    if created:
        Profile.objects.create(user=instance)
    instance.profile.save()

tg_bot.py

from telebot.async_telebot import AsyncTeleBot
from .models import Profile
from django.conf import settings
import asyncio


bot = AsyncTeleBot(settings.API_TOKEN)
print("бот запущен")

@bot.message_handler(commands=['start'])
async def process_start_command(message):
    activation_code = message.text.split(' ', 1)[1] if len(message.text.split(' ', 1)) > 1 else None
    if activation_code:
        profile = Profile.objects.filter(telegram_activation_code=activation_code).first()
        if profile:
            profile.user.is_active = True
            profile.user.save()
            profile.telegram_username = message.from_user.username
            profile.save()
            await bot.send_message(message.chat.id, "аккаунт активирован")
        else:
            await bot.send_message(message.chat.id, "неверная ссылка активации")


@bot.message_handler(commands=['ping'])
async def test_command(message):
    await bot.send_message(message.chat.id, "pong")


asyncio.run(bot.polling())

Ответы (0 шт):