/legacy-bonchat

A chatbox addon for Garry's Mod with markdown support, emoji support, image pasting/sending, video embedding, and some other features (WIP)

Primary LanguageLuaMIT LicenseMIT

THIS ADDON IS BEING REWRITTEN AND THIS VERSION IS NO LONGER BEING DEVELOPED

(this repository now serves as an archive)


gmod-bonchat

(WIP) A chatbox for Garry's Mod with markdown support, emoji support, ability to show images/videos, and some other stuff

Should work on any branch, but intended for usage on x86-64 Read this

Custom event messages:

Emoji searching:


How to Install:

You can subscribe to the addon on the Garry's Mod Steam workshop (will be available after the addon is released)

OR

  1. Download the zip and place it in your addons folder Steam\steamapps\common\GarrysMod\garrysmod\addons
  2. Extract the zip in the folder and make sure the addon's lua path is addons\gmod-bonchat\lua
  3. RECOMMENDED Make sure you are on the x86-64 branch of Garry's Mod (you can change this by right clicking the game in your library, going to Properties... -> BETAS -> select x86-64 - Chromium + 64-bit binaries)
  4. OPTIONAL Install the GModCEFCodecFix in order for things like videos to work (a guide can be found in the repository's README) (you should only have to install the codecs once and whenever GMod has an update, you change branches or verify integrity of game files)

To Do:

✅Finished ➖Working on ❌Not started

  • ➖ derma panels
    • ✅ frame
    • ✅ chatbox
    • ✅ browser
    • ➖ settings panel
      • ➖ url whitelist editing
      • ✅ hiding attachments
      • ❌ hiding duplicate message (antispam)
    • ✅ emojis panel
      • ✅ emoji searching
      • ✅ Twemoji
      • ✅ Silkicon
      • ✅ Steam
    • ➖ attachments panel
      • ✅ attachments
      • ❌ game asset attachments
    • ❌ chat room panel
      • ❌ room creating/joining/leaving
      • ❌ room private messaging
    • ❌ context popup
      • ❌ message context
      • ❌ attachment context
      • ❌ link context
      • ❌ emoji context
  • ➖ message sending
    • ✅ inline markdown support
    • ✅ emoji support
      • ✅ Twemoji
      • ✅ Silkicon
      • ✅ Steam
      • ✅ Discord
    • ➖ attachments
      • ➖ embed
      • ✅ image
      • ➖ video
      • ➖ audio
    • ❌ game asset attachments
      • ❌ model
      • ❌ texture
      • ❌ sound

Sending A Custom Message in GLua:

local msg = BonChat.Message()
msg:ShowTimestamp()
msg:AppendEntity(LocalPlayer())
msg:AppendText(": **some text** ")
msg:AppendColor(color_white)
msg:AppendEntity(game.GetWorld())
msg:AppendMarkdown(" **some text** ")
msg:AppendPlayer("Fake Player", Color(0, 255, 0))
BonChat.SendMessage(msg)

Output:

👉 See the wiki for more information


Acknowledgements