add ban command
This commit is contained in:
parent
9add3e3ef1
commit
3a943afbc1
@ -8,18 +8,21 @@
|
|||||||
# hubot chi sei - chiedi a hubot di identificarsi
|
# hubot chi sei - chiedi a hubot di identificarsi
|
||||||
# hubot chi sono / cosa sai di me - mostra il tuo contatto nel registro di hubot
|
# hubot chi sono / cosa sai di me - mostra il tuo contatto nel registro di hubot
|
||||||
# hubot in che gruppi sei / dove scrivi - chiedi a hubot dove chatta
|
# hubot in che gruppi sei / dove scrivi - chiedi a hubot dove chatta
|
||||||
# hubot (mi inviti / invitami) (nel gruppo / in) - chiedi ad hubot di invitardi in un gruppo
|
# hubot (mi inviti / invitami) (nel gruppo / in) <gruppo> - chiedi ad hubot di invitardi in un gruppo
|
||||||
# hubot (aggiungi[mi] / crea) (il mio / [tra]i contatto/i) [telefono] - chiedi ad hubot creare il tuo contatto
|
# hubot (aggiungi[mi] / crea) (il mio / [tra]i contatto/i) [telefono] - chiedi ad hubot di creare il tuo contatto
|
||||||
|
# hubot banna <nome> - chiedi di bannare un utente dal gruppo attuale (solo se hubot l'ha invitato)
|
||||||
|
# hubot bannalo - chiedi ad hubot di bannare l'ultimo utente ad aver scritto un messaggio dal gruppo
|
||||||
#
|
#
|
||||||
# Author:
|
# Author:
|
||||||
# Michele Guerini Rocco (rnhmjoj)
|
# Michele Guerini Rocco (rnhmjoj)
|
||||||
#
|
#
|
||||||
|
|
||||||
net = require 'net'
|
net = require 'net'
|
||||||
|
lev = require 'fast-levenshtein'
|
||||||
|
|
||||||
module.exports = (robot) ->
|
module.exports = (robot) ->
|
||||||
|
|
||||||
# format a name a telegram-cli likes it
|
# format a name as telegram-cli likes it
|
||||||
norm = (x) -> x.replace /\ /g, '_'
|
norm = (x) -> x.replace /\ /g, '_'
|
||||||
|
|
||||||
# directly run a command in telegram-cli and return its output
|
# directly run a command in telegram-cli and return its output
|
||||||
@ -130,6 +133,41 @@ module.exports = (robot) ->
|
|||||||
else
|
else
|
||||||
res.send "fatto!"
|
res.send "fatto!"
|
||||||
|
|
||||||
|
robot.respond /banna (.+)/, (res) ->
|
||||||
|
ok = [', ora non sarai più un problema', ' terminato',
|
||||||
|
' non farti più vedere', ', questa è la tua fine'
|
||||||
|
unk = ['non so chi sia', 'chi?', 'mai sentito', 'sicuro? non lo trovo']
|
||||||
|
'sparito definitivamente']
|
||||||
|
nope = ['eh, mi piacerebbe molto ma non posso', 'i have no powers here',
|
||||||
|
'nope, non l\'invitato io', 'non sono admin qui, sorry']
|
||||||
|
|
||||||
|
if res.message.room.match /^user/
|
||||||
|
return res.send 'non è un gruppo questo'
|
||||||
|
chat_info res.message.room, (chat) ->
|
||||||
|
dists = [].concat.apply [], (
|
||||||
|
for user in chat.members
|
||||||
|
for word in [user].concat user.split ' '
|
||||||
|
[(lev.get res.match[1], word), user])
|
||||||
|
[dist, name] = dists.reduce (x, y) -> if x[0] < y[0] then x else y
|
||||||
|
|
||||||
|
if dist < 4
|
||||||
|
user_info name, (user) ->
|
||||||
|
run_command "chat_del_user #{chat.id} #{user.id}", (reply) ->
|
||||||
|
err = (reply[0].split ' ')[-1..][0]
|
||||||
|
robot.logger.info "delete user #{user.name} from chat #{chat.name}"
|
||||||
|
|
||||||
|
if err is 'SUCCESS'
|
||||||
|
robot.logger.info 'user deleted'
|
||||||
|
res.send user.name + res.random ok
|
||||||
|
else if err is 'CHAT_ADMIN_REQUIRED'
|
||||||
|
res.send res.random nope
|
||||||
|
robot.logger.warning 'cannot delete user: not authorized'
|
||||||
|
else
|
||||||
|
robot.logger.error 'error:\n' + reply.join '\n'
|
||||||
|
res.send 'oh no: c\'è stato un errore, non so'
|
||||||
|
else
|
||||||
|
res.send res.random unk
|
||||||
|
|
||||||
robot.respond /(mi )?invit(i|ami) (in|nel gruppo) ([^?]+)\??/, (res) ->
|
robot.respond /(mi )?invit(i|ami) (in|nel gruppo) ([^?]+)\??/, (res) ->
|
||||||
denied = ['BZBZ ADMIN-NOT-DETECTED', 'BZBZ IS-NOT-AUTHORIZED', 'BZBZ ACCESS-DENIED']
|
denied = ['BZBZ ADMIN-NOT-DETECTED', 'BZBZ IS-NOT-AUTHORIZED', 'BZBZ ACCESS-DENIED']
|
||||||
nope = ['ahahah NO', 'mai sentito questo', 'invita anche me magari', 'che?']
|
nope = ['ahahah NO', 'mai sentito questo', 'invita anche me magari', 'che?']
|
||||||
|
Loading…
Reference in New Issue
Block a user