Coder Social home page Coder Social logo

monah-rasta / discordlogger-umod Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 138 KB

Oxide plugin for Rust game. Logs events to Discord channels using webhooks

Home Page: https://umod.org/plugins/discord-logger

License: MIT License

C# 100.00%
oxide plugin rust

discordlogger-umod's Introduction

DiscordLogger

Logs events to Discord channels using webhooks

Simple plugin to display server events in a Discord channels using Webhooks. Set Default WebhookURL, enable events you want and you are ready to go. If you need messages about some specific events to be sent to another channels - set different WebhookURL for these events.

  • Supports filtering nicknames and chat messages to avoid impersonation, spam and profanities. Just install Anti Spam and UFilter plugins and activate them in the config file.

Configuration

{
  "Global settings": {
    "Log to console?": false,
    "Use AntiSpam plugin on chat messages": false,
    "Use UFilter plugin on chat messages": false,
    "Hide admin connect/disconnect messages": false,
    "Hide NPC death messages": false,
    "Replacement string for tags": "`",
    "Queue interval (1 message per ? seconds)": 1.0,
    "Queue cooldown if connection error (seconds)": 60.0,
    "Default WebhookURL": "",
    "RCON command blacklist": [
      "playerlist",
      "status"
    ]
  },
  "Admin Hammer settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Admin Radar settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Bradley settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Cargo Ship settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Cargo Plane settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Chat settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Chat (Team) settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "CH47 Helicopter settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Christmas settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Clan settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Dangerous Treasures settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Duel settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Godmode settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Easter settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Error settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Hackable Locked Crate settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Halloween settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Helicopter settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "NTeleportation settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Permissions settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Player death settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Player DeathNotes settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Player connect advanced info settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Player connect settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Player disconnect settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Player Respawned settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Private Messages settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Raidable Bases settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Rcon command settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Rcon connection settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Rust Kits settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "SantaSleigh settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Server messages settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Server state settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Supply Drop settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Teams settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "User Banned settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "User Kicked settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "User Muted settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "User Name Updated settings": {
    "WebhookURL": "",
    "Enabled?": false
  },
  "Vanish settings": {
    "WebhookURL": "",
    "Enabled?": false
  }
}

Localization

{
  "Event.Bradley": ":dagger: {time} Bradley spawned `{0}`",
  "Event.CargoPlane": ":airplane: {time} Cargo Plane incoming `{0}`",
  "Event.CargoShip": ":ship: {time} Cargo Ship incoming `{0}`",
  "Event.Chat": ":speech_left: {time} **{0}**: {1}",
  "Event.ChatTeam": ":busts_in_silhouette: {time} **{0}**: {1}",
  "Event.Chinook": ":helicopter: {time} Chinook 47 incoming `{0}`",
  "Event.Christmas": ":christmas_tree: {time} Christmas event started",
  "Event.Death": ":skull: {time} `{0}` died",
  "Event.Easter": ":egg: {time} Easter event started",
  "Event.EasterWinner": ":egg: {time} Easter event ended. The winner is `{0}`",
  "Event.Error": ":octagonal_sign: {time}\n{0}",
  "Event.Halloween": ":jack_o_lantern: {time} Halloween event started",
  "Event.HalloweenWinner": ":jack_o_lantern: {time} Halloween event ended. The winner is `{0}`",
  "Event.Helicopter": ":dagger: {time} Helicopter incoming `{0}`",
  "Event.Initialized": ":ballot_box_with_check: {time} Server is online again!",
  "Event.LockedCrate": ":package: {time} Codelocked crate is here `{0}`",
  "Event.PlayerConnected": ":white_check_mark: {time} {0} connected",
  "Event.PlayerConnectedInfo": ":detective: {time} {0} connected. SteamID: `{1}` IP: `{2}`",
  "Event.PlayerDisconnected": ":x: {time} {0} disconnected ({1})",
  "Event.PlayerRespawned": ":baby_symbol: {time} `{0}` has been spawned at `{1}`",
  "Event.RconCommand": ":satellite: {time} RCON command `{0}` is run from `{1}`",
  "Event.RconConnection": ":satellite: {time} RCON connection is opened from `{0}`",
  "Event.Team": ":family_man_girl_boy: {time} Team was `{0}`\n{1}",
  "Event.SantaSleigh": ":santa: {time} SantaSleigh Event started",
  "Event.ServerMessage": ":desktop: {time} `{0}`",
  "Event.Shutdown": ":stop_sign: {time} Server is shutting down!",
  "Event.SupplyDrop": ":parachute: {time} SupplyDrop incoming at `{0}`",
  "Event.SupplyDropLanded": ":gift: {time} SupplyDrop landed at `{0}`",
  "Event.SupplySignal": ":firecracker: {time} SupplySignal was thrown by `{0}` at `{1}`",
  "Event.UserBanned": ":no_entry: {time} Player `{0}` SteamID: `{1}` IP: `{2}` was banned: `{3}`",
  "Event.UserKicked": ":hiking_boot: {time} Player `{0}` SteamID: `{1}` was kicked: `{2}`",
  "Event.UserMuted": ":mute: {time} `{0}` was muted by `{1}` for `{2}` (`{3}`)",
  "Event.UserNameUpdated": ":label: {time} `{0}` changed name to `{1}` SteamID: `{2}`",
  "Event.UserUnbanned": ":ok: {time} Player `{0}` SteamID: `{1}` IP: `{2}` was unbanned",
  "Event.UserUnmuted": ":speaker: {time} `{0}` was unmuted `{1}`",
  "Format.CargoShip": "Cargo Ship",
  "Format.Created": "created",
  "Format.Day": "day",
  "Format.Days": "days",
  "Format.Disbanded": "disbanded",
  "Format.Easy": "Easy",
  "Format.Expert": "Expert",
  "Format.Hard": "Hard",
  "Format.Hour": "hour",
  "Format.Hours": "hours",
  "Format.LargeOilRig": "Large Oil Rig",
  "Format.Medium": "Medium",
  "Format.Minute": "minute",
  "Format.Minutes": "minutes",
  "Format.Nightmare": "Nightmare",
  "Format.OilRig": "Oil Rig",
  "Format.Second": "second",
  "Format.Seconds": "seconds",
  "Format.Updated": "updated",
  "Permission.GroupCreated": ":family: {time} Group `{0}` has been created",
  "Permission.GroupDeleted": ":family: {time} Group `{0}` has been deleted",
  "Permission.UserGroupAdded": ":family: {time} `{0}` `{1}` is added to group `{2}`",
  "Permission.UserGroupRemoved": ":family: {time} `{0}` `{1}` is removed from group `{2}`",
  "Permission.UserPermissionGranted": ":key: {time} `{0}` `{1}` is granted `{2}`",
  "Permission.UserPermissionRevoked": ":key: {time} `{0}` `{1}` is revoked `{2}`",
  "Plugin.AdminHammerOff": ":hammer: {time} AdminHammer enabled by `{0}`",
  "Plugin.AdminHammerOn": ":hammer: {time} AdminHammer disabled by `{0}`",
  "Plugin.AdminRadarOff": ":compass: {time} Admin Radar enabled by `{0}`",
  "Plugin.AdminRadarOn": ":compass: {time} Admin Radar disabled by `{0}`",
  "Plugin.ClanCreated": ":family_mwgb: {time} **{0}** clan was created",
  "Plugin.ClanDisbanded": ":family_mwgb: {time} **{0}** clan was disbanded",
  "Plugin.DangerousTreasuresEnded": ":pirate_flag: {time} Dangerous Treasures event at `{0}` is ended",
  "Plugin.DangerousTreasuresStarted": ":pirate_flag: {time} Dangerous Treasures started at `{0}`",
  "Plugin.DeathNotes": ":skull_crossbones: {time} {0}",
  "Plugin.Duel": ":crossed_swords: {time} `{0}` has defeated `{1}` in a duel",
  "Plugin.GodmodeOff": ":angel: {time} Godmode disabled for `{0}`",
  "Plugin.GodmodeOn": ":angel: {time} Godmode enabled for `{0}`",
  "Plugin.NTeleportation": ":cyclone: {time} `{0}` teleported from `{1}` `{2}` to `{3}` `{4}`",
  "Plugin.PersonalHelicopter": ":dagger: {time} Personal Helicopter incoming `{0}`",
  "Plugin.PrivateMessage": ":envelope: {time} PM from `{0}` to `{1}`: {2}",
  "Plugin.RaidableBaseCompleted": ":homes: {time} {1} Raidable Base owned by {2} at `{0}` has been raided by **{3}**",
  "Plugin.RaidableBaseEnded": ":homes: {time} {1} Raidable Base at `{0}` has ended",
  "Plugin.RaidableBaseStarted": ":homes: {time} {1} Raidable Base spawned at `{0}`",
  "Plugin.RustKits": ":shopping_bags: {time} `{0}` redeemed a kit `{1}`",
  "Plugin.TimedGroupAdded": ":timer: {time} `{0}` `{1}` is added to `{2}` for {3}",
  "Plugin.TimedGroupExtended": ":timer: {time} `{0}` `{1}` timed group `{2}` is extended to {3}",
  "Plugin.TimedPermissionExtended": ":timer: {time} `{0}` `{1}` timed permission `{2}` is extended to {3}",
  "Plugin.TimedPermissionGranted": ":timer: {time} `{0}` `{1}` is granted `{2}` for {3}",
  "Plugin.VanishOff": ":ghost: {time} Vanish: Disabled for `{0}`",
  "Plugin.VanishOn": ":ghost: {time} Vanish: Enabled for `{0}`"
}

Developer API

DiscordSendMessage

Used to send message to discord channel. If webhookUrl is not set - message will be sent to Default WebhookURL. stripTags is used to replace all tags like <color></color> etc.

void DiscordSendMessage(string message, string webhookUrl, bool stripTags = false)

Credits

  • MJSU many thanks for all help
  • Arainrr thank you for help

discordlogger-umod's People

Contributors

monah-rasta avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.