如何在 ejabberd 的存档表中检索保存的消息?

问题描述

消息被保存在数据库中的存档表中,但我不知道如何通过 api/iq 检索它们,当前配置如下:

hosts:
  - localhost
sql_type: MysqL
sql_server: ejabberdDB
sql_database: ejabberd
sql_username: ejabberd
sql_password: password
sql_port: 3306
auth_method: [sql]
default_db: sql 


listen:
  -
    port: 5280
    ip: "0.0.0.0"
    module: ejabberd_http
    request_handlers:
      /api: mod_http_api        
      /bosh: mod_bosh 
      /oauth: ejabberd_oauth
      /admin: ejabberd_web_admin
      /.well-kNown/acme-challenge: ejabberd_acme
modules:
  mod_mam:
    db_type: sql
    assume_mam_usage: true
    default: always

解决方法

archive 表由 mod_mam 使用,它实现了服务器端 XEP-0313: Message Archive Management。因此,用户应该使用实现该协议客户端的客户端来检索消息。