Class: Ruboty::Handlers::QiitaPolice

Inherits:
Base
  • Object
show all
Defined in:
lib/ruboty/handlers/qiita_police.rb

Constant Summary collapse

BRAIN_NAMESPACE =
"qiita-police"
REASONS_TABLE =
{
  "bug" => "bugreport",
  "notprogram" => "notprogram",
  "request" => "featurerequest",
  "test" => "test",
  "tos" => "tosviolation",
}

Instance Method Summary collapse

Instance Method Details

#ban(message) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/ruboty/handlers/qiita_police.rb', line 28

def ban(message)
  case
  when (client = client_for(message.from_name)).nil?
    message.reply("I don't know your Qiita access token")
  when !REASONS_TABLE.include?(message[:reason])
    false
  else
    response = client.put("/api/v2/items/#{message[:item_id]}/ban", reason: message[:reason])
    if response.status == 204
      message.reply("Banned")
    else
      message.reply(response.body["message"])
    end
  end
end

#save(message) ⇒ Object



44
45
46
47
# File 'lib/ruboty/handlers/qiita_police.rb', line 44

def save(message)
  access_tokens_table[message.from_name] = message[:token]
  message.reply("Saved #{message.from_name}'s qiita access token")
end