SevenBot

APIサンプル

SevenBot Web APIの例です。

AFK API

AFKを取得

Python

import sys
import time
import requests

USER_ID = 00000000000000000
TOKEN = "ThisIsT0ken"

userid = int(input("取得したいユーザーのIDを入力してください:"))
print("通信中…")
def get_afk():
    response = requests.get(
        "https://api.sevenbot.jp/afk",
        params={
            "userid": userid
        },
        headers={
            "authorization": f"{USER_ID} {TOKEN}"
        }
    )
    if response.status_code == 401:
        print("認証に失敗しました。")
        sys.exit()
    elif response.status_code == 429:
        print("レートリミットに到達しました、やり直しています。")
        time.sleep(10)
        return get_afk()
    else:
        return response.json()

result = get_afk()
if result["message"] is False:
    print(f"{userid}はAFKではありません。")
else:
    print(f"{userid}はAFKです。\n理由:\n{result['reason'] or '(なし)'}")

Ruby

require "json"
require "rest-client"

USER_ID = 00000000000000000
TOKEN = "ThisIsT0ken"

print "取得したいユーザーのIDを入力してください:"
userid = gets.chomp.to_i
puts "通信中…"

def get_afk(userid)
  begin
    response = RestClient.get "https://api.sevenbot.jp/afk", { params: { userid: userid }, authorization: "#{USER_ID} #{TOKEN}" }
  rescue RestClient::Unauthorized
    $stderr.puts "認証に失敗しました。"
    exit
  else
    case response.code
    when 419
      puts "レートリミットに到達しました、やり直しています。"
      get_afk userid
    when 200
      JSON.parse response
    end
  end
end

result = get_afk userid
if result["message"] == false
  puts "#{userid}はAFKではありません。"
else
  puts "#{userid}はAFKです。\n理由:\n#{result["reason"] || "(なし)"}"
end

AFKを設定

Python

import sys
import time
import requests

USER_ID = 00000000000000000
TOKEN = "ThisIsT0ken"
reason = input("理由を入力して下さい:")
if reason:
    json = {"reason": reason}
else:
    json = {}
print("通信中…", end="")
def set_afk():
    response = requests.put(
        "https://api.sevenbot.jp/afk", 
        headers={
            "authorization": f"{USER_ID} {TOKEN}"
        }, json=json
    )
    if response.status_code == 401:
        print("認証に失敗しました。")
        sys.exit()
    elif response.status_code == 429:
        print("レートリミットに到達しました、やり直しています。")
        time.sleep(10)
        set_afk()

set_afk()
print("完了")

Ruby

require "json"
require "rest-client"

USER_ID = 00000000000000000
TOKEN = "ThisIsT0ken"

print "理由を入力して下さい:"
reason = gets.chomp
if reason.length > 0
  begin
    { "reason" => reason }.to_json
  rescue JSON::GeneratorError
    reason = reason.force_encoding("ISO-8859-1").encode("UTF-8")
  end
end
puts "通信中…"

def set_afk(reason)
  begin
    response = RestClient.put "https://api.sevenbot.jp/afk", (reason.length > 0 ? { "reason" => reason } : {}).to_json, { authorization: "#{USER_ID} #{TOKEN}" }
  rescue RestClient::Unauthorized
    $stderr.puts "認証に失敗しました。"
    exit
  else
    case response.code
    when 419
      puts "レートリミットに到達しました、やり直しています。"
      set_afk reason
    when 200
      return
    end
  end
end

set_afk reason
puts "完了"

AFKを解除

Python

import sys
import time
import requests

USER_ID = 00000000000000000
TOKEN = "ThisIsT0ken"
print("通信中…", end="")
def delete_afk():
    response = requests.delete(
        "https://api.sevenbot.jp/afk", 
        headers={
            "authorization": f"{USER_ID} {TOKEN}"
        }
    )
    if response.status_code == 401:
        print("認証に失敗しました。")
        sys.exit()
    elif response.status_code == 429:
        print("レートリミットに到達しました、やり直しています。")
        time.sleep(10)
        delete_afk()


delete_afk()
print("完了")

Ruby

require "json"
require "rest-client"

USER_ID = 00000000000000000
TOKEN = "ThisIsT0ken"

puts "通信中…"

def delete_afk(reason)
  begin
    response = RestClient.delete "https://api.sevenbot.jp/afk", "", { authorization: "#{USER_ID} #{TOKEN}" }
  rescue RestClient::Unauthorized
    $stderr.puts "認証に失敗しました。"
    exit
  else
    case response.code
    when 419
      puts "レートリミットに到達しました、やり直しています。"
      set_afk reason
    when 200
      return
    end
  end
end

set_afk reason
puts "完了"
当サイトではGoogleアナリティクスを使用しています。
これを無効化するには、Cookieを無効にして下さい。
詳細はこちら
SevenBotのサイトはsevenbo.tkからsevenbot.jpへ移行しました。