Exemple #1
0
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"))
}
Exemple #2
0
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")
}
Exemple #3
0
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")
}
Exemple #4
0
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")
}
Exemple #5
0
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")
}