Skip to main content

Ressources GTA V

Nous rejoindre sur Discord


Installer la ressource

Pour récupérer la clé vous permettant d'utiliser l'api de Mail RP, rendez vous sur la page : Récupérer sa clé API

Voici deux méthodes pour installer la ressources sur votre serveur :

Avec git :

Rendez vous dans le dossier resources de votre serveur, et utiliser la commande suivante :

--git Metaclone classhttps://github.com/Tvpirates/xelyos-fivem-resources.git MailRP[xelyos]
=
{}

Un --dossier Initialisationva allors de créer sous le nom [xelyos], vérifiez bien que dans ce répertoire vous trouverez le répertoire mailrp.

Sans git :

Rendez vous sur le git : Last releases Git Xelyos Resources FiveM et télécharger le fichier .zip. Déplacez le fichier zip téléchargé dans votre répertoire resources, et faîtes extraire-ici, renommer le nouveau fichier installer en [xelyos]


Activer la ressource

Lier à l'API :

Pour lié votre serveur FiveM avec l'api de Mail RP, vous devez vous rendre dans le fichier resources/[xelyos]/mailrp/server.lua, au niveau de la classeligne Mail6, RPremplacez apiToken par votre clé.

Activer la ressource :

Pour activer la ressource sur votre serveur, ajouter dans votre server.cfg les lignes suivantes :

# Xelyos solutions
ensure mailrp

Si vous utilisez déjà des ressources Xelyos, vous n'avez qu'à ajouter la ligne à la suite des autres.


Utiliser la ressource

La fonction callback :

function MailRP:newrequestAction(statusCode, ()
    local token = 'apiToken'
    self.__index = self
    self._api = "https://mail-rp.com/api/v1/" .. token .. '/'
    return self
endresultData)
  -- EnvoyerAction unequi suit la requête
GET
function MailRP:__sendGetRequest(url, callBack)
    if callBack and type(callBack) ~= 'table' then
        error('The callBack must be a function and not ' .. type(callBack))
    end
PerformHttpRequest(self._api
..

Lorsque url,vous function(statusCode,allez resultData)faire ifappel callBackà thenl'API, callBack(statusCode,un json.decode(resultData))résultat endest end,envoyé 'GET')en endfonction --de Envoyer unela requête POSTque vous utilisez. Pour exploiter cette réponse, vous devrez utilisez une fonction callback, dans cette fonction écrivez les actions qui devront suivre la requête. Vous pouvez renommer la fonction callback comme vous le voulez.

VariableDéfinition
statusCode (obligatoire)Résultat du status de la requête (200 : réussite | 403 : échec)
resultData (obligatoire)Données retournées au format JSON

Appelez le code depuis un fichier serveur :

Pour utiliser l'api depuis un fichier serveur, vous devez utiliser la structure suivante :

function MailRP:__sendPostRequest(url,requestAction(statusCode, data,ResultData)
  callBack)
    if type(data) ~= 'table' then
        error('post data must be a table')...
end

ifTriggerEvent('xelyos:MailRP', callBackfunction(mailRP)
    andmailRP:methode(requestAction)
type(callBack)end)
~=
'table'

Vous thentrouverez error('Thela callBackliste mustdes beméthodes aci-dessous !

Appelez le code depuis un fichier client :

Pour utiliser l'api depuis un fichier serveur, vous devez utiliser la structure suivante :

function andrequestAction(statusCode, not 'ResultData)
  .. type(callBack)).
end

PerformHttpRequest(self._api .. url,TriggerServerEvent('xelyos:MailRP', function(statusCode,mailRP)
    resultData)mailRP:methode(requestAction)
ifend)
callBack
then

Vous callBack(statusCode,trouverez json.decode(resultData)la liste des méthodes ci-dessous !


Liste des méthodes

getServer()

end

Utilité end, 'POST', json.encode(data), { ['Content-Type'] = 'application/json' }) end --: Récupérer les informations généralessur son serveur

Doc API : Gestion du serveur function- MailRP:Informations générales

Appel :

mailRP:getServer(callBack)
self:__sendGetRequest('server',
callBack)end--RécupérerunsousdomainefunctionMailRP:getSubdomain(callBack,name)iferror('nameattributmust
Variable Définition
Aucune Aucune namevariable ==mise nilà thenpart self:__sendGetRequest('subdomains',la callBack)fonction elsepermettant ifd'exploiter type(name)les ~=résultats stringn'est thennécessaire
be

findSubdomains()

a

Utilisé string') end if callBack and type(callBack) ~= 'table' then error('The callBack must be a function and not ' .. type(callBack)) end self:__sendGetRequest('server/' .. name, callBack) end end --: Récupérer la liste des sous domaines functionde MailRP:getSubdomains(callBack)votre self:getSubdomain(callBack)serveur

end

Doc --API Ajouter: unGestion des sous domaine function MailRP:addSubdomain(callBack, name, public, manager, carnet) if name == nil then error('name is required !') end if public == nil then error('public is required !') end if type(name) ~= 'string' then error('name must be a string ' .. type(name)) end if type(public) ~= 'boolean' then error('public must be a boolean ' .. type(public)) end local data = { name = name, public = public, } if manager and type(manager) ~= 'string' then error('manager must be a string ' .. type(manager)) else data.manager = manager end if carnet and type(carnet) ~= 'boolean' then error('carnet must be a boolean ' .. type(carnet)) else data.carnet = carnet end if callBack and type(callBack) ~= 'table' then error('The callBack must be a function and not ' .. type(callBack)) end self:__sendPostRequest('subdomains/add', data, callBack) enddomaines -- EnvoyerListe undes mailsous functiondomaines

MailRP:send(callBack,

Appel from,:

to, subject, content, confirmOpened, attachements) if from == nil then error('Sender email is required !') end if to == nil then error('Recipient\'s email is required') end if subject == nil then error('Subject email is required') end if type(from) ~= 'string' then error('from must be a string and not ' .. type(from)) end if type(to) ~= 'string' and type(to) ~= 'table' then error('to must be a string or an array (table) and not ' .. type(to)) end if type(subject) ~= 'string' then error('subject must be a string and not ' .. type(subject)) end local data = { from = from, to = to, subject = subject } if content and type(content) ~= 'string' then error('content must be a string and not ' .. type(content)) else data.content = content end if confirmOpened and type(confirmOpened) ~= 'boolean' then error('confirmOpened must be a boolean and not ' .. type(confirmOpened)) else data.confirmOpened = confirmOpened end if attachements and type(attachements) ~= 'table' then error('attachements must be a string or an array (table) and not ' .. type(attachements)) elseif attachements and #attachements > 0 then local tempAttachements = {} for k in pairs(attachements) do if type(attachements[k]) ~= 'string' and type(attachements[k]) ~= 'table' then error('value in attachements must be a string or an array (table) and not ' .. type(attachements[k])) else table.insert(tempAttachements, attachements[k]) end end if #tempAttachements > 0 then data.attachements = tempAttachements end end if callBack and type(
mailRP:findSubdomains(callBack) ~= 'table' then
        error('The callBack must be a function and not ' .. type(callBack))
    end

    self:__sendPostRequest(self, 'mail/send', data, callBack)
end

function MailRP:addAddress(callBack, name, firstname, email, password)
    local params = {
        { var = name, name = 'name' },
        { var = firstname, name = 'firstname' },
        { var = email, name = 'email' },
        { var = password, name = 'password' }
    }
    for p in pairs(params) do
        if params[p].var == nil then
            error(params[p].name .. ' param is required !')
        end

        if type(params[p].var) ~= 'string' then
            error(params[p].name .. ' must be a string and not ' .. type(params[p].var))
        end
    end

    if callBack and type(callBack) ~= 'table' then
        error('The callBack must be a function and not ' .. type(callBack))
    end

    local data = {
        name = name,
        firstname = firstname,
        email = email,
        password = password,
    }

    self:__sendPostRequest(self, 'address/create', data, callBack)
end

function MailRP:getAddress(callBack, email)
    if email == nil then
        error('email param is required !')
    end

    if type(email) ~= 'string' then
        error('email must be a string and not ' .. type(email))
    end

    if callBack and type(callBack) ~= 'table' then
        error('The callBack must be a function and not ' .. type(callBack))
    end

    self:__sendGetRequest('address/get/' .. email, callBack)
end

RegisterNetEvent("xelyos:MailRP") -- For opening the emote menu from another resource.
AddEventHandler("xelyos:MailRP", function(cb)
    cb(MailRP:new())
end)
VariableDéfinition
AucuneAucune variable mise à part la fonction permettant d'exploiter les résultats n'est nécessaire