es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo hacer una llamada de voz o video usando pytelegram-bot-api o paquete alternativo en Python?

Estoy tratando de hacer una llamada de video o voz en Telegram usando pytelegram-bot-api.

¡No pude encontrar una opción para hacer una llamada o llamada de video dentro del paquete!

¿Cómo puedo hacerlo usando python y cualquier API de Telegram?

Estoy mirando los atributos dentro de él, pero no puedo encontrar lo que necesito.

Esto es un ejemplo de lo que quiero:

import telebot

bot = telebot.TeleBot('API-key')

bot.send_message('Telegram id')

# Quiero algo como esto:

bot.make_voice_call('Telegram id')
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, la biblioteca pytelegram-bot-api no ofrece un método para realizar llamadas de voz o video. Sin embargo, existen varias bibliotecas de terceros que pueden ayudarte a lograr esto. Una de esas bibliotecas se llama Telethon, la cual es una biblioteca MTProto de Python 3 asincrónica para interactuar con la API de Telegram como un usuario o a través de una cuenta de bot.

    Usando Telethon, puedes crear un objeto cliente y utilizar sus métodos para realizar llamadas de voz o video. Aquí tienes un ejemplo de código para hacer una llamada de voz utilizando Telethon:

    from telethon import TelegramClient
    from telethon.tl.functions.phone import (
        CreateGroupCallRequest,
        InviteToGroupCallRequest,
    )
    
    api_id = '<tu id="" de="" api="">'
    api_hash = '<tu hash="" de="" api="">'
    nombre_sesion = '<nombre de="" tu="" sesión="">'
    
    client = TelegramClient(nombre_sesion, api_id, api_hash)
    client.connect()
    
    async def hacer_llamada_voz(numero_telefono: str):
        llamada_grupo = await client(CreateGroupCallRequest(
            title="Mi Llamada en Grupo")
        )
        await client(InviteToGroupCallRequest(
            call=llamada_grupo,
            users=[numero_telefono]
        ))
    
    await hacer_llamada_voz('<número de="" teléfono="" a="" llamar="">')
    

    Este código creará una llamada en grupo e invitará al número de teléfono a la llamada. Ten en cuenta que necesitas crear una clave de API y una sesión para tu cuenta de bot en el sitio web de la API de Telegram antes de utilizar este código.

    Para las llamadas de video, puedes utilizar el mismo concepto pero utilizar el método CreateGroupCallRequest con el parámetro Video establecido en True:

    llamada_grupo = await client(CreateGroupCallRequest(
        title="Mi Llamada en Grupo",
        video=True
    ))
    

    ¡Espero que esto te ayude!</número>

Comments are closed.