const google_images = require("free-google-images")
const getPing = module.exports.getPing = (msg, ping, allowSelf) => {
- if (ping && ping.startsWith("<@!") && ping.endsWith(">")) {
- const id = ping.slice("<@!".length, -">".length)
+ if (ping && ping.startsWith("<\\@!") && ping.endsWith(">")) {
+ const id = ping.slice("<\\@!".length, -">".length)
if (!allowSelf && id == msg.author.id) {
msg.reply("Please mention a user other than yourself")
return
}
-
+
if (msg.guild.members.cache.get(id))
return id
}
module.exports.uppercase = str => str.slice(0, 1).toUpperCase() + str.slice(1)
-module.exports.requestCommand = (help, onRequest, onAccept) => new Object({
+module.exports.requestCommand = (help, info, onRequest, onAccept) => new Object({
params: "<player>",
- help: "Request to " + help + " another user",
+ help: "Request to " + help,
func: (msg, [targetPing], {requests}) => {
const target = getPing(msg, targetPing, false)
if (target) {
const err = onRequest(msg, target)
- if (err)
+ if (err) {
msg.reply(err)
- else
+ } else {
+ msg.channel.send(`<@!${target}>: <@!${msg.author.id}> ${info}. Type !accept to accept or !deny to deny.`)
+
requests[target] = {
origin: msg.author.id,
func: onAccept,
}
+ }
}
-
+
}
})
module.exports.storageLoad = name => {
try {
- return require(`storage/${name}.json`)
+ return require(`./storage/${name}.json`)
} catch {}
}
module.exports.listCommand = (title, list) => new Object({
help: "Show list of " + title,
- func: msg => msg.reply(`List of ${title}: ${Object.keys(list).join(", ")}`)
+ func: (msg, _, fb) => msg.reply(`List of ${title}: ${Object.keys(fb[list]).map(entry => "<@!" + entry + ">").join(", ")}`)
})
-module.exports.listChangeCommand = (action, list, listName, status) => new Object({
+module.exports.listChangeCommand = (action, list, status) => new Object({
operator: true,
- func: (msg, [targetPing]) => {
+ func: (msg, [targetPing], fb) => {
const target = getPing(msg, targetPing, true)
if (target) {
- if (list[target] == status) {
+ if (fb[list][target] == status) {
msg.reply(`<@!${target}> ${status ? "already" : "not"} ${action}.`)
} else {
- list[target] = status
- module.exports.storageSave(listName, list)
+ fb[list][target] = status
+ module.exports.storageSave(list, fb[list])
msg.reply(`Successfully ${action} <@!${target}>.`)
}
}