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

Бот почему то не отправляет сообщение, почему не работает?

Проблема такова что, зарегестрировал хендлеры и все другое, в терминале пишется что "BOT STARTED" то-есть он запустился, но когда отправляю команду /start, абсолютно ничего не пишет
from aiogram import Bot, Dispatcher, types
import asyncio
import requests

PROBIVAPI_KEY = "YOUR_PROBIVAPI_KEY_HERE"

API_TOKEN = "7161414575:AAECJxd1tKEWnPH74oG_gpEDzcHA1aT0fZQ"

bot = Bot(token=API_TOKEN)
dp = Dispatcher()

print("!BOT STARTED!")

async def get_start(message: types.Message):
    await message.answer("Привет, введи айди человека и я попробую тебе найти его номер")

async def send_help(message: types.Message):
    await message.reply("Если что то не получается обращаться через hentaihero к создателю")

async def text(message: types.Message):
    nomer = message.text
    print(nomer)

    url = "https://probivapi.com/api/phone/info/" + nomer

    head = {
        "X-Auth": PROBIVAPI_KEY
    }

    response = requests.get(url, headers=head)
    print(response.text)

    try:
        json_response = response.json()
    except Exception:
        json_response = {}

    try:
        truecaller_api_name = str(json_response['truecaller']['data'][0]['name'])
    except Exception:
        truecaller_api_name = 'Not found'
    try:
        numbuster_api_name = str(json_response['numbuster']['averageProfile']['firstName']) + \
                             str(json_response['numbuster']['averageProfile']['lastName'])
    except Exception:
        numbuster_api_name = 'Not found'
    try:
        eyecon_api_name = str(json_response['eyecon'])
    except Exception:
        eyecon_api_name = 'Not found'
    try:
        viewcaller_name_list = []
        for tag in json_response['viewcaller']:
            viewcaller_name_list.append(tag['name'])
        viewcaller_api_name = ', '.join(viewcaller_name_list)
    except Exception:
        viewcaller_api_name = 'Not found'

    await message.reply(
        f" База: (Numbuster): {numbuster_api_name}\n"
        f" База: (EyeCon): {eyecon_api_name}\n"
        f" База: (ViewCaller): {viewcaller_api_name}\n"
        f" База: (TrueCaller): {truecaller_api_name}"
    )

async def main():
    dp.register_message_handler(get_start, commands="/start")
    dp.register_message_handler(send_help, commands="/help")
    bot = Bot(API_TOKEN)
    await dp.start_polling(bot)

if __name__ == '__main__':
    asyncio.run(main())
  • Вопрос задан
  • 203 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
febday
@febday
1. Я что-то пропустил? Как этот волшебный код вообще может запускаться? В данном коде используется запуска бота при помощи диспатчера, но такое возможно только в aiogram 3.x, а такая регистрация хендлеров через метод register_message_handler возможно только в aiogram 2.x.

2. Вы для чего-то объявляете два раза экземпляр Bot и записываете повторно в переменную bot

3. commands указывается без /

Как разберёмся с этим, будем смотреть что ещё может не так

ps: BOT STARTED это ваш личный принт, он не показывает, что бот запущен
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы