gotify / plugin-api Goto Github PK
View Code? Open in Web Editor NEWThe Plugin-API supported by gotify/server.
Home Page: https://gotify.net/docs/plugin
License: MIT License
The Plugin-API supported by gotify/server.
Home Page: https://gotify.net/docs/plugin
License: MIT License
I was thinking about writing a plugin to send a E-Mail containing a receieved notfication, but the current APIs exposed to plugins do not seem to support the subscription to incoming messages. I.e. it is not possible to have a plugin act as a client. At least that's what I'm concluding from your docs.
I therefore want to ask if such a feature is planned for the future.
Is your feature request related to a problem? Please describe.
I recently started using gotify-smtp to allow applications that don't natively support Gotify to still notify me. Sadly, everything sent to it enters in the "SMTP" app, making it hard to tell from which app the notification came.
Describe the solution you'd like
It would be nice if a plugin could generate multiple apps, so it could scale up like 1 SMTP plugin being useful for multiple SMTP senders.
Describe alternatives you've considered
The ability to run the same plugin multiple times would also make that possible, if the app name could be configured per plugin. There would however also need to be a way to prevent multiple instances of the same plugin from binding to the same path (in the SMTP plugin's case, port 1025), so this would seem more complex and harder to scale to me.
I'd love to have an API that allows plugins to check authentication tokens/passwords against Gotify itself.
A good example is using my gotify-smtp plugin, it'd be great to validate the app token as a password and allow it to be a bit more secure rather than forcing users to firewall it properly.
Does anyone know or having any experience in getting the pluggings installed on the Unraid Gotify container? I can't figure out what I am doing wrong and have not had any type of success getting the plugins installed. the only one I really need is the webhook plugin.
I know someone will be reading this and say
but while you say that please help me. the tutorials I read are not working. so far I was able to install GO inside the docker image but when I try to install the plugin by using Go Build command it says
# command-line-arguments
./webhook.go:7:2: undefined: Plugin
then I try to run it as root and instead of building it I run it by using the command
su root ./webhook.go and I get this error
./webhook.go: line 1: package: not found
./webhook.go: line 3: import: not found
./webhook.go: line 5: //: Permission denied
Webhooker: not found
interface: not found
{ is a shell keyword
./webhook.go: line 7: Plugin: not found
./webhook.go: line 8: //: Permission denied
./webhook.go: line 9: syntax error: unexpected word (expecting ")")
If you charge for your time and the price is not high I might be able to pay you just let me know.
This is a two-part issue.
The first is that I cannot get any comments on my YAML config at all using any common trick.
When I finally use YAML nodes, the whole node structure is displayed with all the right contents(over 100 lines of it) for only a 4 line piece of information. Could it be an unmarshaling issue?
I also notice that the API manages to display nicely commented YAML file? Can I do the same thing if possible?
I’m trying to reset all stored data when my plugin gets enabled/disabled. To archive this I’m calling c.storageHandler.Save()
from within the plugin’s Enable()
or Disable()
methods. This seems to have no effect however. In other cases the storageHandler
works as expected.
Looking at https://gotify.net/docs/plugin-write#storager it seems that it should be possible.
I’m developing against gotify-server v2.0.5
Allowing plugins to either delete individual messages or all messages of their respective application would add significant flexibility.
To be able to delete individual messages the SendMessage
would also have to return some kind of message ID, so that the plugin knows which message to delete.
Together with gotify/server#266 this could be utilized so that a plugin can discard a message on all connected clients given some certain event.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.