Commit 7bc6af5f authored by nanahira's avatar nanahira

update ban_get

parent 160c8f96
This diff is collapsed.
......@@ -12,6 +12,7 @@
"author": "zh99998 <zh99998@gmail.com>, mercury233 <me@mercury233.me>, Nanahira <78877@qq.com>",
"dependencies": {
"async": "^3.2.0",
"axios": "^0.19.2",
"bunyan": "latest",
"challonge": "latest",
"deepmerge": "latest",
......@@ -21,6 +22,7 @@
"lzma": "^2.3.2",
"moment": "latest",
"pg": "^6.4.2",
"querystring": "^0.2.0",
"redis": "latest",
"request": "latest",
"sqlite3": "latest",
......
......@@ -18,6 +18,8 @@ _.str = require 'underscore.string'
_.mixin(_.str.exports())
request = require 'request'
axios = require 'axios'
qs = require "querystrig"
bunyan = require 'bunyan'
log = global.log = bunyan.createLogger name: "mycard"
......@@ -1823,21 +1825,18 @@ ygopro.ctos_follow 'PLAYER_INFO', true, (buffer, info, client, server, datas)->
, name))
client.rag = true
if settings.modules.mycard.enabled
#console.log(name)
request
url: settings.modules.mycard.ban_get
json: true
qs:
user: name
, (error, response, body)->
#console.log(body)
if _.isString body
log.warn "ban get bad json", body
else if error or !body
log.warn 'ban get error', error, response
try
banMCRequest = await axios.get
url: settings.modules.mycard.ban_get
paramsSerializer: qs.stringify
params:
user: name
if typeof(banMCRequest.data) == "object"
client.ban_mc = banMCRequest.data
else
client.ban_mc = body
return
log.warn "ban get bad json", banMCRequest.data
catch e
log.warn 'ban get error', e.toString()
struct = ygopro.structs["CTOS_PlayerInfo"]
struct._setBuff(buffer)
struct.set("name", name)
......
// Generated by CoffeeScript 2.5.1
(function() {
// 标准库
var CLIENT_get_authorize_key, CLIENT_get_kick_reconnect_target, CLIENT_heartbeat_register, CLIENT_heartbeat_unregister, CLIENT_import_data, CLIENT_is_able_to_kick_reconnect, CLIENT_is_able_to_reconnect, CLIENT_is_banned_by_mc, CLIENT_is_player, CLIENT_kick, CLIENT_kick_reconnect, CLIENT_pre_reconnect, CLIENT_reconnect, CLIENT_reconnect_register, CLIENT_reconnect_unregister, CLIENT_send_pre_reconnect_info, CLIENT_send_reconnect_info, CLIENT_send_replays, Cloud_replay_ids, ROOM_all, ROOM_bad_ip, ROOM_ban_player, ROOM_clear_disconnect, ROOM_connected_ip, ROOM_find_by_name, ROOM_find_by_pid, ROOM_find_by_port, ROOM_find_by_title, ROOM_find_or_create_ai, ROOM_find_or_create_by_name, ROOM_find_or_create_random, ROOM_kick, ROOM_player_flee, ROOM_player_get_score, ROOM_player_lose, ROOM_player_win, ROOM_players_banned, ROOM_players_oppentlist, ROOM_players_scores, ROOM_unwelcome, ROOM_validate, ReplayParser, ResolveData, Room, SERVER_clear_disconnect, SERVER_kick, SOCKET_flush_data, _, _async, addCallback, auth, badwords, ban_user, bunyan, challonge, challonge_cache, challonge_module_name, challonge_queue_callbacks, challonge_type, chat_color, config, cppversion, crypto, date, deck_name_match, default_config, default_data, dialogues, disconnect_list, dns, duel_log, e, exec, execFile, fs, geoip, getSeedTimet, get_callback, get_memory_usage, http, http_server, https, https_server, import_datas, imported, is_challonge_requesting, j, l, len, len1, len2, len3, lflists, list, loadJSON, load_dialogues, load_tips, log, long_resolve_cards, m, memory_usage, merge, moment, n, net, oldbadwords, oldconfig, olddialogues, oldduellog, oldtips, options, os, path, pgClient, pg_client, pg_query, plugin_filename, plugin_list, plugin_path, real_windbot_server_ip, redis, redisdb, ref, ref1, ref2, refresh_challonge_cache, release_disconnect, replaced_index, report_to_big_brother, request, requestListener, roomlist, setting_change, setting_save, settings, spawn, spawnSync, spawn_windbot, tips, url, users_cache, util, wait_room_start, wait_room_start_arena, windbot_looplimit, windbot_process, windbots, ygopro, zlib;
var CLIENT_get_authorize_key, CLIENT_get_kick_reconnect_target, CLIENT_heartbeat_register, CLIENT_heartbeat_unregister, CLIENT_import_data, CLIENT_is_able_to_kick_reconnect, CLIENT_is_able_to_reconnect, CLIENT_is_banned_by_mc, CLIENT_is_player, CLIENT_kick, CLIENT_kick_reconnect, CLIENT_pre_reconnect, CLIENT_reconnect, CLIENT_reconnect_register, CLIENT_reconnect_unregister, CLIENT_send_pre_reconnect_info, CLIENT_send_reconnect_info, CLIENT_send_replays, Cloud_replay_ids, ROOM_all, ROOM_bad_ip, ROOM_ban_player, ROOM_clear_disconnect, ROOM_connected_ip, ROOM_find_by_name, ROOM_find_by_pid, ROOM_find_by_port, ROOM_find_by_title, ROOM_find_or_create_ai, ROOM_find_or_create_by_name, ROOM_find_or_create_random, ROOM_kick, ROOM_player_flee, ROOM_player_get_score, ROOM_player_lose, ROOM_player_win, ROOM_players_banned, ROOM_players_oppentlist, ROOM_players_scores, ROOM_unwelcome, ROOM_validate, ReplayParser, ResolveData, Room, SERVER_clear_disconnect, SERVER_kick, SOCKET_flush_data, _, _async, addCallback, auth, axios, badwords, ban_user, bunyan, challonge, challonge_cache, challonge_module_name, challonge_queue_callbacks, challonge_type, chat_color, config, cppversion, crypto, date, deck_name_match, default_config, default_data, dialogues, disconnect_list, dns, duel_log, e, exec, execFile, fs, geoip, getSeedTimet, get_callback, get_memory_usage, http, http_server, https, https_server, import_datas, imported, is_challonge_requesting, j, l, len, len1, len2, len3, lflists, list, loadJSON, load_dialogues, load_tips, log, long_resolve_cards, m, memory_usage, merge, moment, n, net, oldbadwords, oldconfig, olddialogues, oldduellog, oldtips, options, os, path, pgClient, pg_client, pg_query, plugin_filename, plugin_list, plugin_path, qs, real_windbot_server_ip, redis, redisdb, ref, ref1, ref2, refresh_challonge_cache, release_disconnect, replaced_index, report_to_big_brother, request, requestListener, roomlist, setting_change, setting_save, settings, spawn, spawnSync, spawn_windbot, tips, url, users_cache, util, wait_room_start, wait_room_start_arena, windbot_looplimit, windbot_process, windbots, ygopro, zlib;
net = require('net');
......@@ -36,6 +36,10 @@
request = require('request');
axios = require('axios');
qs = require("querystrig");
bunyan = require('bunyan');
log = global.log = bunyan.createLogger({
......@@ -2432,7 +2436,7 @@
// 功能模块
// return true to cancel a synchronous message
ygopro.ctos_follow('PLAYER_INFO', true, async function(buffer, info, client, server, datas) {
var geo, lang, name, name_full, struct, vpass;
var banMCRequest, geo, lang, name, name_full, struct, vpass;
// checkmate use username$password, but here don't
// so remove the password
name_full = info.name.split("$");
......@@ -2454,23 +2458,23 @@
client.rag = true;
}
if (settings.modules.mycard.enabled) {
//console.log(name)
request({
url: settings.modules.mycard.ban_get,
json: true,
qs: {
user: name
}
}, function(error, response, body) {
//console.log(body)
if (_.isString(body)) {
log.warn("ban get bad json", body);
} else if (error || !body) {
log.warn('ban get error', error, response);
try {
banMCRequest = (await axios.get({
url: settings.modules.mycard.ban_get,
paramsSerializer: qs.stringify,
params: {
user: name
}
}));
if (typeof banMCRequest.data === "object") {
client.ban_mc = banMCRequest.data;
} else {
client.ban_mc = body;
log.warn("ban get bad json", banMCRequest.data);
}
});
} catch (error1) {
e = error1;
log.warn('ban get error', e.toString());
}
}
struct = ygopro.structs["CTOS_PlayerInfo"];
struct._setBuff(buffer);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment