บริบท
ฉันกำลังสร้างแอป Slack โดยใช้คำสั่ง Slash ซึ่งกำลังสร้างข้อความตอบกลับ in_channel
พร้อมปุ่มให้ผู้ใช้โต้ตอบด้วย คำสั่งสแลชถูกใช้ในช่องส่วนตัว
เมื่อผู้ใช้คลิกที่ปุ่มแอปของฉันสามารถอัปเดตข้อความนั้นเพื่อแสดงสถานะใหม่ - เพียงแค่ตอบกลับคำขอเครื่องหมายทับด้วยข้อความที่อัปเดตและโดยการตั้งค่า replace_original = true
ปัญหา
นอกจากนี้ ฉันยังต้องการอัปเดตข้อความดังกล่าวทีละชุด เช่น เมื่อตัวจับเวลาหมด ฉันพยายามอัปเดตข้อความด้วย chat.update
แต่ฉันได้รับข้อผิดพลาด cant_update_message
API .
นี่คือคำขอที่ฉันใช้สำหรับการทดสอบในบุรุษไปรษณีย์:
https://slack.com/api/chat.update?token={TOKEN}&channel={CHANNEL}&ts={TS}&text=Updated&as_user=true
อย่างไรก็ตาม ตามเอกสารประกอบ ฉันควรจะสามารถอัปเดตข้อความบอทได้:
ประเภทข้อความที่ถูกต้อง
เฉพาะข้อความที่โพสต์โดยผู้ใช้ที่ได้รับการรับรองความถูกต้องเท่านั้นที่สามารถอัปเดตได้ด้วยวิธีนี้ ซึ่งรวมถึงข้อความแชทปกติ และข้อความที่มีประเภทย่อย
me_message
ผู้ใช้บอทอาจอัปเดตข้อความที่โพสต์ได้
และข้อความที่ฉันต้องการอัปเดตอย่างชัดเจนเป็นของแอป slack ของฉันและดูเหมือนข้อความบอทปกติ ต่อไปนี้คือลักษณะของข้อความนั้นใน conversations.history
:
{
"text": "Some text...",
"bot_id": "Bxxxxxxxx",
"type": "message",
"subtype": "bot_message",
"ts": "{TS}"
}
ยังไงก็ตาม ฉันลบข้อความนั้นโดยใช้พารามิเตอร์เดียวกันผ่าน chat.delete
ได้ผล
ฉันพลาดอะไรไป?