我已经购买了这个特定的机器人脚本。我给它一个游戏列表(游戏名称可以有数字,:),每个游戏都有一个关键字。并且要求机器人从列表中给我一个特定的密钥。我输入(!给[游戏名称])。机器人检查txt文件并给我相应的游戏密钥
举个例子。
反恐精英:全球攻势(11111-11111-11111)
Left For Dead 2(22222-22222-22222)
半条命(33333-33333-33333)
这里的问题是:
当我输入!give Counter-Strike: Global Offensive
或!give Left For Dead 2
时
机器人崩溃了。但如果输入!give Half Life
它实际上会起作用并给我钥匙(33333-33333-33333)
我检查了错误日志,然后我去查找导致问题的行;我发现了这个:
错误日志:
C:\用户\ XXX \ bot.js:1199 var keys = data.split(“\ n”); ^
TypeError:无法读取未定义的属性“split” 在ReadFileContext.callback(C:\ Users \ xxx \ bot.js:1199:19) 在FSReqWrap.readFileAfterOpen [as oncomplete](fs.js:422:13)`
这是代码:
var sent = false;
files.forEach(function(file) {
if (file.toLowerCase().endsWith(".txt")) {
if (fs.readFileSync(file, "utf8").toLowerCase().split("\n")[0].trim() === titledab.trim()) {
fs.readFile(file, 'utf8', function(error, data) {
if (error) {
client.chatMessage(senderID.toString(), "An error occurred, sorry about that.");
return;
}
if (data == '' || data.split("\n").length <= 1) {
client.chatMessage(senderID.toString(), "No keys for that title right now.");
return;
}
当涉及到这些事情时,我并不擅长。有人告诉我,问题也与toLowerCase有关,因为它不适用于数字。请告诉我什么是错的,哪些是正确的解决方案?