- 94
- 4
- Версия MoonLoader
- .027.0-preview
Всем привет, подключал вторую базу данных к рак боту чтобы изменять значения в базе данных сервера серез LUA но у меня проблемы или с подключением или с запросом, не понимаю, помогите пожалуйста
Скрипт запускается без ошибок, но когда ввожу команду скрипт крашит с такой ошибкой:
Подключение:
function onLoad()
---------------------------------------- 1 БАЗА ДАННЫХ
math.randomseed(os.time())
longpollGetKey()
mysql = mysql_drv.mysql()
db_bot = mysql:connect('bot', 'root', '', '127.0.0.1', 3306)
db_server = mysql:connect(server_db, server_user, server_pass, server_host, 3306)
db_bot:execute("SET NAMES 'cp1251'");
db_server:execute("SET NAMES 'cp1251'");
updateArrayfilter_words(); updateArrayMentionUsers(); updateArrayWhiteList(); updateTasks(); updateArrayFormsList(); updateItems();
for i = 1, #default_all_bot_commands do
if not isCommandExists(default_all_bot_commands[i][1]) then db_bot:execute("INSERT INTO `cmdlist` (`command`, `default_rank`, `custom_rank`) VALUES ('"..default_all_bot_commands[i][1].."', "..default_all_bot_commands[i][2]..", "..default_all_bot_commands[i][2]..")") end
end
--local response = requests.get('https://server-local.ru/botquestions.json', {headers={["user-agent"] = "Mozilla/5.0"}})
--local text_response = u8:decode(response.text); questions = json.decode(text_response)
updateArrayCommands()
if isBotConnected() then is_loggined_in_admin = true end
taskAdd("mute_system", 1000, true, function() funcCheckMute() end)
taskAdd("accept_system", 1000, true, function() funcAcceptSystem() end)
taskAdd("ban_system", 1000, true, function() funcCheckBan() end)
taskAdd("task_check_db", 600000, true, function() db_server:close(); db_server = mysql:connect(server_db, server_user, server_pass, server_host, 3306) end)
taskAdd("role_system", 1000, true, function() funcRoleSystem() end)
taskAdd("neactive_system", 1000, true, function() funcNeactiveSystem() end)
taskAdd("antiflood_system", 60000, true, function() funcAntiFloodSystem() end)
taskAdd("notification_try", 270000, true, function() end)
newTask(function()
while not key do wait(1) end
loop_async_http_request(server .. '?act=a_check&key=' .. key .. '&ts=' .. ts .. '&wait=25', '')
end)
---------------------------------------- 1 БАЗА ДАННЫХ
---------------------------------------- 2 БАЗА ДАННЫХ
if mysqlconn then
mysql = mysql_drv.mysql()
mysqlconn = mysql:connect('user42890', 'user42890', 'pGdHHmbU0Zbv', '194.61.2.105', 3306) -- база данных/имя/пароль/хостинг/порт
mysqlconn = mysql:connect(server_db1, server_user1, server_pass1, server_host1, 3306)
mysqlconn:execute("SET NAMES 'cp1251'") -- тут запрос
end
---------------------------------------- 2 БАЗА ДАННЫХ
end
хз что это, но сказали надо:
function isMakeAdmin(nick)
if mysqlconn then
cursor, errorString = mysqlconn:execute('select * from `accounts` where `NickName` = "'..nick..'"')
row = cursor:fetch ({}, "a")
if row then return true else return false end
end
end
команда:
elseif text:find('^/makeadmin') then
if tonumber(getUserLevelDostup(from_id)) >= getDostupRankForUseCommand('makeadmin') then
nick = text:match('^/makeadmin (.*) 11 1')
if nick then
VkMessage('✅ Команда в настоящий момент в обработке.')
if not isMakeAdmin(nick) then
mysqlconn = ("INSERT INTO `accounts` (`NickName`) VALUE ('"..nick.."')")
end
mysqlconn = ("UPDATE `accounts` SET Admin = Admin+1 where `NickName` = '"..nick.."'")
VkMessage('✅ Админ-права игроку '..nick..' на сервере LIFE уровня 11 выданы успешно!')
else
UseCommand('/makeadmin [никнейм] [уровень] [сервер]')
end
else
NoDostupToCommand()
end