cc-libs/programs/trapgpt.lua

55 lines
1.3 KiB
Lua

local createTrapGpt = require('/apis/libtrapgpt');
local createVersion = require('/apis/libversion');
local args = table.pack(...);
local function printUsage()
print('trapgpt usage:');
print();
print(' trapgpt');
print(' trapgpt --version');
print(' trapgpt --help');
print();
print('settings required:');
print(' opencc.server_url');
print();
print('settings optional:');
print(' trapgpt.throttle_seconds (default: 5)');
print(' trapgpt.max_reply_chars (default: 160)');
print(' trapgpt.prefix (default: TrapGPT)');
end
local command = args[1];
if command == '--version' or command == '-version' or command == 'version' then
print('v' .. createVersion().forSelf());
return;
end
if command == '--help' or command == '-help' or command == 'help' then
printUsage();
return;
end
if args.n > 0 then
printUsage();
return;
end
local chatBox = peripheral.find('chat_box') or peripheral.find('chatBox');
if not chatBox then
error('chat_box peripheral not found');
end
local trapgpt = createTrapGpt({ chatBox = chatBox });
local function listenChat()
while true do
local _, username, message, uuid, isHidden, messageUtf8 = os.pullEvent('chat');
trapgpt.onChat(username, message, uuid, isHidden, messageUtf8);
end
end
print('trapgpt listening');
parallel.waitForAny(listenChat, function() trapgpt.run(); end);