-
Notifications
You must be signed in to change notification settings - Fork 1
developing plugins
Plugins are relatively easy to make if you understand coding. These guides for developing plugins expect you to know a bit about coding, and at least a bit about python (Lua is supported, but you might need to read some Python code still and Python can do more then Lua can with the current API).
The plugin finder has multiple locations where it searches for plugins
- core_plugins from in the ElliNetIRCd package, always loaded
- test_plugins from in the ElliNetIRCd package ONLY if the logs level is DEBUG
- ./plugins from the current working directory, where users will usually be putting plugins in
Plugins can be in any programming language, as long as something makes it supported. Plugins of type LANGUAGE can add new programming languages (because python is more of a system programming language it is not added by a plugin, but lua support is a core plugin because its bot the main language, lua is located at ellinetircd/core_plugins/lua.py).
List of official programming languages for plugins:
- Python (is not added by a plugin, as its the main language of ElliNetIRCd, always enabled)
- Lua (added by
ellinetircd/core_plugins/lua.pyand can not do as much as Python, but it works, always enabled)
This is a list of simple plugins that can be used for reference:
- Lua command test plugin
ellinetircd/test_plugins/LUA_COMMAND.lua - Python language test plugin
ellinetircd/test_plugins/LANGUAGE.py - Python command test plugin
ellinetircd/test_plugins/COMMAND.py - Python IRC bot test plugin
ellinetircd/test_plugins/bot.py
Want to show off your plugins or ask for help? Go to discussions! There is also a subreddit.