api: https://github.com/satom99/litcord
how can check valiable if valid id?
local cmd, serverid, channelid, arg = string.match(message.content, '(%s+) (%d+) (%d+) (%s+.*)') local server = client.servers:get('id', serverid)
serverid variable , need check if serverid valid id otherwise error server nil value.
i trying days finish 1 command , part of it. if need more contents please tell me, link you.
full code:
client:on( 'message', function(message) local userid = message.author.id local cmd, serverid, channelid, arg = string.match(message.content, '(%s+) (%d+) (%d+) (%s+.*)') local server = client.servers:get('id', serverid) local channel = server.channels:get('id', channelid) local cmd = cmd or message.content if (cmd == "!say") , message.parent.is_private if (userid == "187590758360940545") if not server return end if (server == servers) if (channel == channels) message.channel:sendmessage(arg) else message:reply("i don't know channel.") return end message:reply("i don't know server.") end else message:reply(":sob: stop!!!!") end end end )
and how can let write in channel want functions message.channel:sendmessage(arg) message:reply replies message came from.
let's forget validating serverid 1 moment.
of course should handle case client.servers:get('id', serverid)
returing nil
.
simply validating serverid
somehow , hoping valid server handle not option.
so either use luas error handling features https://www.lua.org/manual/5.3/manual.html#2.3
or check server
if statement won't use server
if nil
.
simplified:
local server = client.servers:get('id', serverid) if not server print("no server id '" .. serverid .. "' found.") return -- or clever here, show message box or whatever... end -- server won't nil here
unless know sure there no other way nil being returned should handle possibility properly.
Comments
Post a Comment