Как по требованию пользователя отправить контакт?

хочу воспользоваться sendContact (https://docs.aiogram.dev/en/dev-3.x/api/methods/send_contact.html, https://core.telegram.org/bots/api#sendcontact), но у меня не получилось разобраться.


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

Автор решения: KerradKerridi

А можно больше подробностей какой кейс?

Если просто отправка контакта в чат, то возьми это за основу и поправь исходя из своего кейса. Подставь свой token. Сейчас бот по команде /start кидает два варианта контакта.

Если нужны какие-то доп.параметры, то их нужно в SendContact передавать согласно документации

import asyncio
from aiogram import Router, types
from aiogram.filters import Command
from aiogram import Bot, Dispatcher

router = Router()

@router.message(
    Command("start")
)
async def handle_send_contact(message: types.Message):
    #Простая отправка Имя + Номер
    await message.bot.send_contact(chat_id=message.chat.id, phone_number="79999999999", first_name="Николай")
    #Отправка Фамилия + Имя + Номер
    await message.bot.send_contact(chat_id=message.chat.id, phone_number="79999999999", first_name="Николай", last_name="Петров")

async def start_bot():
    token = '000000000:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
    bot = Bot(token=token)
    dp = Dispatcher()
    dp.include_routers(router)
    await bot.delete_webhook(drop_pending_updates=True)
    await dp.start_polling(bot, skip_updates=True)


if __name__ == '__main__':
    asyncio.run(start_bot())
→ Ссылка