Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вот есть документация дискорда
Для того что бы Дискорд не блокировал запросы с гарриса нужно использовать CHTT
Мой совет:
Если хочешь сделать что то подобное, то лучше делать отдельный сервис. То как я это реализовал на NodeJS+discord.js
Код страый и вряд-ли будет работать сейчас, но попробуйте
Документация по discord.js:
discord.js.org
Огромный плейлист о том как делать ботов:
Discord Developer Portal — API Docs for Bots and Developers
Для того что бы Дискорд не блокировал запросы с гарриса нужно использовать CHTT
GitHub - timschumi/gmod-chttp: A HTTP()-compatible wrapper for curl in...
Мой совет:
Если хочешь сделать что то подобное, то лучше делать отдельный сервис. То как я это реализовал на NodeJS+discord.js
Lua:
Gamedig.query({
type: 'garrysmod',
port: '27015',
host: '[тут ip сервера]',
}).then((state) => {
bot.user.setActivity(`за NW | ${(state.players.length + state.bots.length) || 0}/${state.maxplayers}`, { type: 'WATCHING' })
PlayersChan.setName(`Игроков: ${(state.players.length + state.bots.length) || 0}/${state.maxplayers}`)
}).catch((error) => {
bot.user.setActivity('за NW | Сервер офлайн', { type: 'WATCHING' })
PlayersChan.setName(`Сервер офлайн 😟`)
});
if(bot.ServerStatusChannel){
setInterval(() => {
Gamedig.query({
type: 'garrysmod',
host: '[тут ip сервера]',
port: '27015'
}).then((state) => {
let ServerStatus = new MessageEmbed()
let Players = ''
let Bots = ''
state.players.forEach(player => {
if(player.name === undefined){
Players = Players + 'Не удалось определить имя' + '\n'
}else if(player.name.startsWith('||') || player.name.startsWith('*')){
Players = Players + '\\' + player.name + '\n'
}else{
Players = Players + player.name + '\n'
}
})
state.bots.forEach(player => {
if(player.name === undefined){
Bots = Bots + 'Не удалось определить имя' + '\n'
}else if(player.name.startsWith('||') || player.name.startsWith('*')){
Bots = Bots + '\\' + player.name + '\n'
}else{
Bots = Bots + player.name + '\n'
}
})
if(Players == '') Players = 'Игроки отсутствуют :(';
if(Bots == '') Bots = 'Боты отсутствуют';
ServerStatus
.setAuthor('Сервер онлайн!', 'https://cdn.discordapp.com/emojis/759467859239108668.gif?v=1')
.setColor('GREEN')
.setDescription(`🏡 IP сервера: **[тут ip сервера]:27015**\n👥 Заполненость сервера: **${(state.players.length + state.bots.length) || 0}**/${state.maxplayers}`)
.addField('🙍♂️ Игроки', Players, true)
.addField('🤖 Боты', Bots, true)
.addField('🗺 Карта', state.map)
.addField('⚡ Пинг', state.ping + 'ms')
.setFooter('Последнее обновление')
.setTimestamp()
bot.ServerStatusChannel.edit('@everyone', ServerStatus)
bot.user.setActivity(`за NW | ${(state.players.length + state.bots.length) || 0}/${state.maxplayers}`, { type: 'WATCHING' })
PlayersChan.setName(`Игроков: ${(state.players.length + state.bots.length) || 0}/${state.maxplayers}`).catch(error => console.error(error))
console.log('SERVER ONLINE. SEND TO DISCORD!')
}).catch((error) => {
console.error(error)
let ServerStatus = new MessageEmbed()
ServerStatus
.setAuthor('Сервер офлайн!', 'https://cdn.discordapp.com/emojis/759468043176378400.gif?v=1')
.setColor('RED')
.setDescription(`⚠ Мы уже работаем над решением проблемы!\nℹ Обратите внимание: Плановый рестарт сервера в 4:00 по МСК.`)
.setFooter('Последнее обновление')
.setTimestamp()
bot.ServerStatusChannel.edit('@everyone', ServerStatus)
bot.user.setActivity('за NW | Сервер офлайн', { type: 'WATCHING' })
PlayersChan.setName(`Сервер офлайн 😟`)
console.log('SERVER OFFLINE. SEND TO DISCORD!')
});
}, 5000)
}
Код страый и вряд-ли будет работать сейчас, но попробуйте
Документация по discord.js:
discord.js.org
Огромный плейлист о том как делать ботов: