add del twitch notify command
This commit is contained in:
parent
b66a4f3b32
commit
ce2b664c77
@ -154,7 +154,7 @@ const delPage = async (txt = '', source = {}, db) => {
|
|||||||
})
|
})
|
||||||
if (count.rowCount === 0 || count.rows[0].c === 0) return null
|
if (count.rowCount === 0 || count.rows[0].c === 0) return null
|
||||||
|
|
||||||
text = `select rt.* as c from "public"."line_fb_rt" rt
|
text = `select rt.* from "public"."line_fb_rt" rt
|
||||||
left join "public"."facebook_page" fb
|
left join "public"."facebook_page" fb
|
||||||
on fb."id" = rt."facebook"
|
on fb."id" = rt."facebook"
|
||||||
where
|
where
|
||||||
@ -278,9 +278,92 @@ const addTwitch = async (txt = '', source = {}, db) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* del twitch channel notify from group
|
||||||
|
* @param {string} txt command body format => twitch_user type
|
||||||
|
* @param {object} source
|
||||||
|
* @param {object} db
|
||||||
|
*/
|
||||||
|
const delTwitch = async (txt = '', source = {}, db) => {
|
||||||
|
if (!db) return null
|
||||||
|
if (!('type' in source) || !('groupId' in source) || !('userId' in source)) return null
|
||||||
|
let {groupId, userId} = source
|
||||||
|
let arr = txt.split(' ')
|
||||||
|
if (arr.length < 2) return null
|
||||||
|
let twitch = arr[0]
|
||||||
|
let type = arr[1]
|
||||||
|
let text = `select "id","owner" from "public"."line_group" where "id" = $1`
|
||||||
|
let values = [groupId]
|
||||||
|
let result = await db.query({
|
||||||
|
text,
|
||||||
|
values
|
||||||
|
})
|
||||||
|
if (result.rowCount === 0) {
|
||||||
|
let reply = 'group not register'
|
||||||
|
return { reply }
|
||||||
|
}
|
||||||
|
if (result.rows[0].owner !== userId) {
|
||||||
|
let reply = 'not owner'
|
||||||
|
return { reply }
|
||||||
|
}
|
||||||
|
|
||||||
|
text = `select count(rt.*) as c from "public"."line_twitch_rt" rt
|
||||||
|
left join "public"."twitch_channel" twitch
|
||||||
|
on twitch."id" = rt."twitch"
|
||||||
|
where
|
||||||
|
twitch."name" = $1`
|
||||||
|
values = [twitch]
|
||||||
|
let count = await db.query({
|
||||||
|
text,
|
||||||
|
values
|
||||||
|
})
|
||||||
|
if (count.rowCount === 0 || count.rows[0].c === 0) return null
|
||||||
|
|
||||||
|
text = `select rt.* from "public"."line_twitch_rt" rt
|
||||||
|
left join "public"."twitch_channel" twitch
|
||||||
|
on twitch."id" = rt."twitch"
|
||||||
|
where
|
||||||
|
twitch."name" = $1
|
||||||
|
and rt."line" = $2`
|
||||||
|
values = [twitch, groupId]
|
||||||
|
let rt = await db.query({
|
||||||
|
text,
|
||||||
|
values
|
||||||
|
})
|
||||||
|
if (rt.rowCount === 0) return null
|
||||||
|
if (rt.rowCount == 1 && count.rows[0].c == 1) { // eslint-disable-line
|
||||||
|
let text = `delete from "public"."twitch_channel" where "name" = $1`
|
||||||
|
let values = [twitch]
|
||||||
|
await db.query({
|
||||||
|
text,
|
||||||
|
values
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
let text = `select "id" from "public"."twitch_channel" where "name" = $1`
|
||||||
|
let values = [twitch]
|
||||||
|
let tc = await db.query({
|
||||||
|
text,
|
||||||
|
values
|
||||||
|
})
|
||||||
|
if (tc.rowCount > 0) {
|
||||||
|
let text = `delete from "public"."line_twitch_rt" where "line" = $1 and "type" = $2 and "twitch" = $3`
|
||||||
|
let values = [groupId, type, tc.rows[0].id]
|
||||||
|
await db.query({
|
||||||
|
text,
|
||||||
|
values
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
reply: 'delete twitch notify success'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
addgroup: addGroup,
|
addgroup: addGroup,
|
||||||
addpage: addPage,
|
addpage: addPage,
|
||||||
delpage: delPage,
|
delpage: delPage,
|
||||||
addtwitch: addTwitch
|
addtwitch: addTwitch,
|
||||||
|
deltwitch: delTwitch
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user