func (m *Admin) plugin_get(cmd string, msg xmpp.Chat) { tokens := strings.SplitN(cmd, " ", 2) options := map[string]string{} var opt_list []string if len(tokens) == 2 { if mod := m.bot.GetPluginByName(tokens[1]); mod != nil { opt_list = append(opt_list, "=="+mod.GetName()+"模块属性==") for k, v := range mod.GetOptions() { options[mod.GetName()+"."+k] = v } } } else { opt_list = append(opt_list, "==所有模块属性==") for _, mod := range m.bot.GetPlugins() { for k, v := range mod.GetOptions() { options[mod.GetName()+"."+k] = v } } } keys := utils.SortMapKeys(options) for _, v := range keys { opt_list = append(opt_list, fmt.Sprintf("%-20s : %s", v, options[v])) } m.bot.ReplyAuto(msg, strings.Join(opt_list, "\n")) }
func (m *Random) Description() string { msg := []string{m.Help(), "本模块可配置属性:", } options := m.GetOptions() keys := utils.SortMapKeys(options) for _, v := range keys { msg = append(msg, fmt.Sprintf("%-20s : %s", v, options[v])) } return strings.Join(msg, "\n") }
func (m *Url) Description() string { msg := []string{m.Help(), "当用户在聊天过程中输入url时,机器人将自动去打开此url,并显示网页标题(html类型)或者显示一个缩略图(image类型).", "本模块可配置属性:", } options := m.GetOptions() keys := utils.SortMapKeys(options) for _, v := range keys { msg = append(msg, fmt.Sprintf("%-20s : %s", v, options[v])) } return strings.Join(msg, "\n") }
func (m *Notify) Description() string { msg := []string{m.Help(), "本模块启用时,将提供web服务来接收通知,并根据相关信息将通知转发到合适的好友或聊天室。", "通知消息的接收网址为http://your-host-name/" + m.GetName() + "/<JID>/", "需要使用POST模式向此网址发送消息,定义参数subject和body,如果ip地址被允许,消息将会发给JID用户。", "本模块可配置属性:", } options := m.GetOptions() keys := utils.SortMapKeys(options) for _, v := range keys { msg = append(msg, fmt.Sprintf("%-20s : %s", v, options[v])) } return strings.Join(msg, "\n") }
func (m *Logger) Description() string { msg := []string{m.Help(), "当有好友或群聊消息时将自动记录日志.对好友消息,将只记录好友发出的消息,不记录bot回应的消息,对群聊消息将全部记录。", "在本模块启用时,将同时提供一个web服务来查询所有历史聊天记录。", "历史记录的网址为 http://your-host-name/" + m.GetName() + "/", "本模块可配置属性:", } options := m.GetOptions() keys := utils.SortMapKeys(options) for _, v := range keys { msg = append(msg, fmt.Sprintf("%-20s : %s", v, options[v])) } return strings.Join(msg, "\n") }