MCPcopy Index your code
hub / github.com/Southclaws/cj

github.com/Southclaws/cj @2.5.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2.5.0 ↗ · + Follow
202 symbols 506 edges 50 files 81 documented · 40%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SA:MP Forum Discord Bot

All Contributors

Travis

CJ

Development

This project is open to anyone who wants to contribute, large or small! Whether you noticed a typo or want to add a whole new feature, go for it!

Large additions should be discussed in issues or on Discord first. If you're new to Golang, ask me on Discord for where to start and you can use CJ as a starting point for a contribution.

Testing/Workflow

To run the app, you need:

  • A Discord server to test - you can't use the SA:MP Discord to do tests
  • Go 1.11 - no guarantees on older versions

If you don't own/admin a Discord server, creating one is simple, you can do it from the same menu you join discord servers from.

Running with a database

If you want to develop features that require persisting data, spin up a MongoDB database. If you have Docker installed, this is as simple as running make mongodb which will start a MongoDB container with a user root that has no password. If you don't have Docker, you'll need to install MongoDB onto your system..

Running without a database

If you don't need a database for your feature, just add NO_DATABASE=true to .env.

Finally, the application requires some configuration. Copy the example.env to .env and modify it to use your token and various IDs. Depending on what you're working on, some values won't be necessary.

Now you can build and run the application with make local.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Octavian Dima Octavian Dima 💻 🤔 🐛J0shES J0shES 💻 🤔 🐛 🚧Dayvison Dayvison 💻Adrian Graber Adrian Graber 💻__SyS__ __SyS__ 💻Robster Robster 🖋Lasha Kanteladze Lasha Kanteladze 💻 ⚠️ 🤔
Kristo Isberg Kristo Isberg 💻 ⚠️ 🤔Marcel Schramm Marcel Schramm 💻Codeah Codeah 💻Giampaolo Falqui Giampaolo Falqui 📖Sunehildeep Sunehildeep 💻TommyB TommyB 🖋Nikola Yanakiev Nikola Yanakiev 🖋

This project follows the all-contributors specification. Contributions of any kind welcome!

Extension points exported contracts — how you extend this code

ActionProvider (Interface)
ActionProvider describes a type that provides a registration function that provides a set of actions that have some rand [5 …
bot/heartbeat/heartbeat.go
Extension (Interface)
Extension represents an extension to the bot that receives a pointer to the storage backend. [3 implementers]
bot/core.go
Storer (Interface)
Storer describes a type that is capable of persisting data [2 implementers]
storage/storage.go

Core symbols most depended-on inside this repo

ChannelMessageSend
called by 33
discord/message.go
ChannelMessageSendEmbed
called by 5
discord/message.go
GetUserProfilePage
called by 4
forum/forum.go
UpdateReadmeMessage
called by 4
storage/storage.go
threadName
called by 4
bot/commands/cmd_wiki.go
GetCurrentChannelMessageFrequency
called by 3
discord/discord.go
GetTopMessages
called by 3
storage/storage.go
GetForumUserFromDiscordUser
called by 3
storage/storage.go

Shape

Method 130
Function 36
Struct 31
Interface 3
TypeAlias 2

Languages

Go100%

Modules by API surface

storage/storage.go24 symbols
storage/memory.go21 symbols
storage/users.go10 symbols
storage/chat.go10 symbols
forum/forum.go10 symbols
bot/commands/command_manager.go10 symbols
bot/heartbeat/heartbeat.go9 symbols
bot/commands/cmd_wiki.go8 symbols
discord/discord.go7 symbols
bot/heartbeat/talking/talking.go7 symbols
storage/settings.go6 symbols
bot/heartbeat/stats/stats.go6 symbols

For agents

$ claude mcp add cj \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact