I've telah menggunakan telegram_bot, dan mencoba untuk mendapatkan groupChat id untuk mengirim pemberitahuan ke grup chat, tapi don't mengetahui metode mana yang harus saya gunakan untuk itu.
Untuk mendapatkan chat id saya gunakan untuk pesan.chat.id ketika bot berpartisipasi dalam chat tapi yang saya harus gunakan untuk mendapatkan group chat id bisa't menemukan/
Dalam rangka untuk mendapatkan group chat id, lakukan sebagai berikut:
Tambahkan Telegram BOT untuk kelompok.
Dapatkan daftar update untuk BOT anda:
https://api.telegram.org/bot
Ex:
https://api.telegram.org/bot123456789:jbd78sadvbdy63d37gda37bd8/getUpdates
{"update_id":8393,"message":{"message_id":3,"from":{"id":7474,"first_name":"AAA"},"chat":{"id":
,"title":"<Group name>"},"date":25497,"new_chat_participant":{"id":71,"first_name":"NAME","username":"YOUR_BOT_NAME"}}}
Ini adalah contoh dari respon ketika anda menambahkan BOT ke dalam kelompok.
Berikut adalah urutan yang bekerja untuk saya setelah berjuang selama beberapa jam:
Asumsikan bot nama my_bot.
1 - Menambahkan bot ke grup.
Pergi ke grup, klik pada nama grup, klik Tambahkan anggota, di telusur mencari bot anda seperti ini: @my_bot, pilih bot anda dan klik tambahkan.
2 - Kirim dummy pesan ke bot.
Anda dapat menggunakan contoh ini: /my_id @my_bot
(Saya mencoba beberapa pesan, tidak semua pesan yang bekerja. Contoh di atas bekerja dengan baik. Mungkin pesan harus mulai dengan /)
3 - Pergi ke url berikut: https://api.telegram.org/botXXX:YYYY/getUpdates
ganti XXX:YYYY dengan bot token
4 - Mencari "chatting":{"id":-zzzzzzzzzz,
-zzzzzzzzzz anda chatting id (dengan tanda negatif).
5- Pengujian: Anda dapat menguji mengirim pesan ke grup dengan curl:
curl -X POST "https://api.telegram.org/botXXX:YYYY/sendMessage" -d "chat_id=-zzzzzzzzzz&text=my sample text"
Jika anda melewatkan langkah 2, tidak akan ada update untuk kelompok yang anda cari. Juga jika ada beberapa kelompok, anda dapat mencari nama grup di respon ("judul":"group_name").
Semoga ini bisa membantu.
Pada pertengahan tahun 2018, hanya:
Setelah bergabung itu akan menampilkan file JSON di mana anda chat id akan berada di *pesan.chat.id*.
"message": {
"chat": {
"id": -210987654,
"title": ...,
"type": "group",
...
}
...
}
Pastikan untuk menendang @RawDataBot dari grup anda setelah itu.
Setelah pertengahan 2018:
1:) Mengundang @getidsbo atau @RawDataBot
untuk kelompok anda dan mendapatkan id grup di sended chat id bidang.
Message
├ message_id: 338
├ from
┊ ├ id: *****
┊ ├ is_bot: false
┊ ├ first_name: 사이드
┊ ├ username: ******
┊ └ language_code: en
├ chat
┊ ├ id: -1001118554477 // This is Your Group id
┊ ├ title: Test Group
┊ └ type: supergroup
├ date: 1544948900
└ text: A
2:) menggunakan unofficicl Messenger seperti Plus Messenger dan melihat id grup di grup/info channel.
Sebelum pertengahan 2018: (don't Digunakan)
1: Goto (https://web.telegram.org)
2: Goto anda Gorup dan Menemukan link dari Gorup(https://web.telegram.org/#/im?p=g154513121)
3: Copy nomor Itu setelah g dan menempatkan (-) Sebelum Itu -154513121
4: Mengirim Pesan ke Group
bot.sendMessage(-154513121, "Hi")
Saya Sekarang Diuji dan Bekerja seperti Pesona
Anda bisa mendapatkan Chat ID dengan cara ini.
Pada obrolan pribadi dengan bot anda, mengirim pesan acak. Anda akan mencari pesan ini nanti.
Mendapatkan API-token dari bot_father : XXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY
Kemudian, pada browser anda membuat permintaan dengan url :
https://api.telegram.org/botXXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY/getUpdates
Permintaan kembali respon json, json teks pencarian anda pesan acak
dan mendapatkan chat id di objek itu.
Anda dapat mengambil group ID dengan cara yang sama. Hal itu muncul dalam pesan tubuh sebagai pesan.chat.id
dan's biasanya angka negatif, di mana normal obrolan yang positif.
Id grup dan Chat Id hanya dapat diambil dari pesan yang diterima, tidak ada panggilan yang tersedia untuk mengambil kelompok yang aktif dll. Anda harus ingat ID grup ketika anda menerima pesan dan menyimpannya dalam cache atau sesuatu yang serupa.
Menggunakan python dan telethon itu's sangat mudah untuk mendapatkan chat id. Ini adalah solusi terbaik bagi mereka yang bekerja dengan telegram API.
Jika anda don't memiliki telethon, jalankan ini:
pip install telethon
Jika anda don't memiliki aplikasi yang terdaftar dengan telegram, mendaftarkan satu: Link ini: https://my.telegram.org/
Kemudian jalankan kode berikut:
from telethon import InteractiveTelegramClient
from telethon.utils.tl_utils import get_display_name
client = InteractiveTelegramClient('session_id', 'YOUR_PHONE_NUMBER', api_id=1234YOURAPI_ID, api_hash='YOUR_API_HASH')
dialog_count = 10
dialogs, entities = client.get_dialogs(dialog_count)
for i, entity in enumerate(entities):
i += 1 # 1-based index
print('{}. {}. id: {}'.format(i, get_display_name(entity), entity.id))
Anda mungkin ingin mengirim pesan ke kelompok sehingga kelompok muncul di atas daftar.