Bagaimana cara agar saluran Slack tetap mutakhir di aplikasi pihak ketiga?

Saya telah bermain-main dengan slack API akhir-akhir ini, dan saya membuat satu proyek demo di mana saya memiliki semacam widget obrolan, di dalamnya ada dropdown di header yang diisi dengan daftar saluran (melalui panggilan APIchannels.list), dengan memilih salah satunya,channels.history akan dipanggil untuk mengisi body widget, dan di bawah pada footer kotak teks dan kirim tombol untuk mengirim pesan baru ke slack.. SEKARANG, agar isi widget selalu terbarui, i)Saya harus membuat saluran.riwayat panggilan istirahat secara berkala (jika ada yang mengirim pesan di aplikasi SLACK) Dan Juga ii)I telah melakukan panggilan istirahat ketika pengguna mengirim pesan dari kotak teks widget ini.

Pertanyaan saya sekarang adalah: Bagaimana cara saya melewatkan panggilan berkala ini (karena saya mendapat peringatan 429) alih-alih menerapkan logika apa pun yang akan memicu panggilanchannels.history hanya ketika pesan baru tiba di sisi slack dan tidak secara berkala. atau adakah cara yang lebih baik untuk melakukan ini?


person SpaceyBot    schedule 24.07.2018    source sumber


Jawaban (2)


Salah satu cara untuk selalu memperbarui salinan pesan terkini dari saluran di aplikasi pihak ketiga adalah dengan menggunakan API Acara. Anda berlangganan acara pesan dan setiap kali pesan baru diposting, Slack akan mengirimkan permintaan kepada Anda , yang mencakup pesan lengkap. Ini juga berfungsi untuk pesan "kompleks".

person Erik Kalkoken    schedule 24.07.2018

Saya tidak 100% paham dengan Slack API tetapi saya menemukan ini: API perpesanan waktu nyata.

Karena menggunakan soket web, saya berasumsi Anda dapat terhubung dan menerima semua pesan yang dikirimkan tanpa harus meminta informasi tersebut secara berkala. Anda harus mengubah aplikasi Anda agar berfungsi dengan websockets, bukan untuk panggilan HTTP berkala.

person Bruno Camarneiro    schedule 24.07.2018
comment
terima kasih, tapi sebenarnya itu tidak mendukung pesan rumit seperti memiliki lampiran, dll - person SpaceyBot; 24.07.2018
comment
Ini mungkin agak tidak masuk akal, tetapi bagaimana jika Anda menggunakan API perpesanan waktu nyata untuk terus memperbarui riwayat tetapi menggunakan API web untuk mengirim pesan yang rumit? - person Bruno Camarneiro; 24.07.2018