He estado usando telegram_bot e intenté obtener la identificación de groupChat para enviar notificaciones al chat grupal, pero no sé qué métodos debo usar para ello.
Para obtener la identificación del chat, utilizo message.chat.id cuando el bot participó en el chat pero que tengo que usar para obtener la identificación del chat grupal no puedo encontrar /
telegram
telegram-bot
Podpryatov romano
fuente
fuente
Respuestas:
Para obtener la identificación del chat grupal, haga lo siguiente:
Agregue el Telegram BOT al grupo.
Obtenga la lista de actualizaciones para su BOT:
Ex:
Busque el objeto "chat":
Esta es una muestra de la respuesta cuando agrega su BOT a un grupo.
fuente
getUpdates
solicitud devuelve{"ok":true,"result":[]}
incluso si intento enviar montón de mensajes al grupo bot y mención vía@
y algunos "comandos" al azar/my_id
,/start
,/help
. ¿Alguna idea de qué hacer? - ACTUALIZACIÓN: OK, eliminar el bot del grupo y agregar el bot nuevamente solucionó este problema (también imprimió la identificación del chat en el grupo) --- parece que el bot no se puede agregar durante la creación del grupo.Aquí está la secuencia que funcionó para mí después de luchar durante varias horas:
Suponga que el nombre del bot es my_bot .
1- Agrega el bot al grupo.
Vaya al grupo, haga clic en el nombre del grupo, haga clic en Agregar miembros, en el cuadro de búsqueda busque su bot de la siguiente manera: @my_bot, seleccione su bot y haga clic en Agregar.
2- Enviar un mensaje ficticio al bot.
Puede usar este ejemplo:
/my_id @my_bot
(Intenté algunos mensajes, no todos funcionan. El ejemplo anterior funciona bien. Tal vez el mensaje debería comenzar con /)
3- Vaya a la siguiente url:
https://api.telegram.org/botXXX:YYYY/getUpdates
reemplace XXX: AAAA con su token bot
4- Busque "chat": {"id": -
zzzzzzzzzz , -zzzzzzzzzz es su id de chat (con el signo negativo).
5- Prueba: puedes probar enviando un mensaje al grupo con un rizo:
Si omite el paso 2, no habrá ninguna actualización para el grupo que está buscando. Además, si hay varios grupos, puede buscar el nombre del grupo en la respuesta ("título": " nombre_grupo ").
Espero que esto ayude.
fuente
/
like/test something
hace felices a getUpdates.A partir de marzo de 2020, simplemente:
Al unirse, generará un archivo JSON donde se ubicará su ID de chat en message.chat.id .
Asegúrese de eliminar a @RawDataBot de su grupo después.
fuente
Después de mediados de 2018:
1 :) Invite a @getidsbo o
@RawDataBot
a su grupo y obtenga su identificación de grupo en el campo de identificación de chat enviado.2 :) use un Messenger no oficial como Plus Messenger y vea la identificación de su grupo en la información del grupo / canal.
Antes de mediados de 2018: (no usar)
1: Ir a ( https://web.telegram.org )
2: Ir a su Gorup y encontrar su enlace de Gorup ( https://web.telegram.org/#/im ? p = g154513121 )
3: Copie ese número después de g y ponga un (-) Antes de eso
-154513121
4: Envíe su mensaje a Gorup Probé
bot.sendMessage(-154513121, "Hi")
ahora y trabaje como un encanto
fuente
After mid-2018
método temporalmente .Puede obtener ID de chat de esta manera.
En el chat privado con su bot, envíe un mensaje aleatorio. Buscarás este mensaje más tarde.
Obtenga su token API de bot_father:
XXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY
Luego, en su navegador, haga una solicitud con esa URL:
La solicitud devuelve una respuesta json, en el texto json busque su
random message
y obtenga la identificación de chat en ese objeto.fuente
Usando python y telethon es muy fácil obtener id de chat. Esta solución es la mejor para quienes trabajan con la API de telegramas.
Si no tienes telethon, ejecuta esto:
Si no tiene una aplicación registrada con Telegram, registre una: El enlace es este: https://my.telegram.org/
Luego ejecute el siguiente código:
Es posible que desee enviar un mensaje a su grupo para que el grupo aparezca en la parte superior de la lista.
fuente
Puede recuperar la identificación del grupo de la misma manera. Aparece en el cuerpo del mensaje como
message.chat.id
y generalmente es un número negativo, donde los chats normales son positivos.Las ID de grupo y las ID de chat solo se pueden recuperar de un mensaje recibido, no hay llamadas disponibles para recuperar grupos activos, etc. Debe recordar la ID de grupo cuando reciba el mensaje y almacenarlo en la memoria caché o algo similar.
fuente
cree un bot, o si ya está creado, establezca lo siguiente:
tiene acceso a mensajes
aparentemente, independientemente de la antigüedad / nuevo del grupo de Telegram:
agregue bot nuevamente al grupo
cree un archivo de script y ejecute un
getUpdates
ejemplo de método:"chat":{"id":-1001202656383,"title"
Espero que esto ayude (HTH)
fuente
El bot recibe el siguiente mensaje originado en un grupo de Telegram que tiene un bot coexistente:
extraer datos según sea necesario
/ * contenido
fuente
En mi humilde opinión, la mejor manera de hacer esto es usar TeleThon, pero dado que la respuesta de apadana está desactualizada, escribiré la solución de trabajo aquí:
este fragmento te dará los primeros
10
chats en tu Telegram.Suposiciones
telethon
enest_asyncio
instaladoapi_id
yapi_hash
desde my.telegram.orgfuente
fuente
Si está implementando su bot, mantenga almacenado un nombre de grupo -> tabla de id, y pregúntelo con un comando. Entonces también puedes enviar por nombre.
fuente