ok i was having it.
start discord_perms
start discord-whitelist
so it should be
start discord-whitelist
start discord-perms
ok i was having it.
start discord_perms
start discord-whitelist
so it should be
start discord-whitelist
start discord-perms
discord_perms*
yeah discord_perms is on top
Are you sure it is discord_perms and not discord-perms?
![]()
for the discord token do i right click and get it that way?
and what guild id?
Right click what? For the Discord token you need to set up a bot on the Discord developer dashboard.
yes i have but it is offline

and whats the guild id?
Okay.
This isn’t Discord, don’t send each message in a different post.
Right click on the Discord server (if in developer mode) and press copy ID.
i have
i have done everything but when i connect to the server it says “You must have discord open to join server”
add me on discord so i can screen share and show u what i have done and what needs doing.
Discord: Ghost#3120
Is there anything in server console? Make sure discord_perms is not spitting out errors.
This is in server.lua
local FormattedToken = "Bot "..Config.DiscordToken
function DiscordRequest(method, endpoint, jsondata)
local data = nil
PerformHttpRequest("https://discordapp.com/api/"..endpoint, function(errorCode, resultData, resultHeaders)
data = {data=resultData, code=errorCode, headers=resultHeaders}
end, method, #jsondata > 0 and json.encode(jsondata) or "", {["Content-Type"] = "application/json", ["Authorization"] = FormattedToken})
while data == nil do
Citizen.Wait(0)
end
return data
end
function GetRoles(user)
local discordId = nil
for _, id in ipairs(GetPlayerIdentifiers(user)) do
if string.match(id, "discord:") then
discordId = string.gsub(id, "discord:", "")
print("Found discord id: "..discordId)
break
end
end
if discordId then
local endpoint = ("guilds/%s/members/%s"):format(Config.GuildId, discordId)
local member = DiscordRequest("GET", endpoint, {})
if member.code == 200 then
local data = json.decode(member.data)
local roles = data.roles
local found = true
return roles
else
print("An error occured, maybe they arent in the discord? Error: "..member.data)
return false
end
else
print("missing identifier")
return false
end
end
function IsRolePresent(user, role)
local discordId = nil
for _, id in ipairs(GetPlayerIdentifiers(user)) do
if string.match(id, "discord:") then
discordId = string.gsub(id, "discord:", "")
print("Found discord id: "..discordId)
break
end
end
local theRole = nil
if type(role) == "number" then
theRole = tostring(role)
else
theRole = Config.Roles[role]
end
if discordId then
local endpoint = ("guilds/%s/members/%s"):format(Config.GuildId, discordId)
local member = DiscordRequest("GET", endpoint, {})
if member.code == 200 then
local data = json.decode(member.data)
local roles = data.roles
local found = true
for i=1, #roles do
if roles[i] == theRole then
print("Found role")
return true
end
end
print("Not found!")
return false
else
print("An error occured, maybe they arent in the discord? Error: "..member.data)
return false
end
else
print("missing identifier")
return false
end
end
Citizen.CreateThread(function()
local guild = DiscordRequest("GET", "guilds/"..Config.GuildId, {})
if guild.code == 200 then
local data = json.decode(guild.data)
print("Permission system guild set to: "..data.name.." ("..data.id..")")
else
print("An error occured, please check your config and ensure everything is correct. Error: "..(guild.data or guild.code))
end
end)
local FormattedToken = "Bot "..Config.DiscordToken
function DiscordRequest(method, endpoint, jsondata)
local data = nil
PerformHttpRequest("https://discordapp.com/api/"..endpoint, function(errorCode, resultData, resultHeaders)
data = {data=resultData, code=errorCode, headers=resultHeaders}
end, method, #jsondata > 0 and json.encode(jsondata) or "", {["Content-Type"] = "application/json", ["Authorization"] = FormattedToken})
while data == nil do
Citizen.Wait(0)
end
return data
end
function GetRoles(user)
local discordId = nil
for _, id in ipairs(GetPlayerIdentifiers(user)) do
if string.match(id, "discord:") then
discordId = string.gsub(id, "discord:", "")
print("Found discord id: "..discordId)
break
end
end
if discordId then
local endpoint = ("guilds/%s/members/%s"):format(Config.GuildId, discordId)
local member = DiscordRequest("GET", endpoint, {})
if member.code == 200 then
local data = json.decode(member.data)
local roles = data.roles
local found = true
return roles
else
print("An error occured, maybe they arent in the discord? Error: "..member.data)
return false
end
else
print("missing identifier")
return false
end
end
function IsRolePresent(user, role)
local discordId = nil
for _, id in ipairs(GetPlayerIdentifiers(user)) do
if string.match(id, "discord:") then
discordId = string.gsub(id, "discord:", "")
print("Found discord id: "..discordId)
break
end
end
local theRole = nil
if type(role) == "number" then
theRole = tostring(role)
else
theRole = Config.Roles[role]
end
if discordId then
local endpoint = ("guilds/%s/members/%s"):format(Config.GuildId, discordId)
local member = DiscordRequest("GET", endpoint, {})
if member.code == 200 then
local data = json.decode(member.data)
local roles = data.roles
local found = true
for i=1, #roles do
if roles[i] == theRole then
print("Found role")
return true
end
end
print("Not found!")
return false
else
print("An error occured, maybe they arent in the discord? Error: "..member.data)
return false
end
else
print("missing identifier")
return false
end
end
Citizen.CreateThread(function()
local guild = DiscordRequest("GET", "guilds/"..Config.GuildId, {})
if guild.code == 200 then
local data = json.decode(guild.data)
print("Permission system guild set to: "..data.name.." ("..data.id..")")
else
print("An error occured, please check your config and ensure everything is correct. Error: "..(guild.data or guild.code))
end
end)
and how do i check if discord_perms is spitting errors?
i put the green side of the server.lua and it still saying you must have discord open to join the server
will this work if i have the roll on disc setup like this @
Whitelisted (Civ)
or will i need to remove the checkmark? like is it able to read spaces and ()?
Try it. It should work.
Yes should work.
question when i get the role id its <@&372134911584239616> i just do the numbers correct?