eternal-flame-ad / gotify-broadcast Goto Github PK
View Code? Open in Web Editor NEWA plugin which brings broadcasts to gotify.
License: MIT License
A plugin which brings broadcasts to gotify.
License: MIT License
Gotify does not have auto delete or expiration of messages and I need to delete the message after a while but I don't see it returning the id.
Will the current version work as intended with Gotify 2.0.5?
Search Keyword: another application, read from another, gotify-smtp, relay application, application relay.
As the title says, is there a way to implement broadcasting to x users the same message recieved from another "Application".
For example i've got gotify-smtp installed and would like to send the same message i recieve to other users too.
So an implementation (if possible) would be that if this plugin is able to read inside the given application token and listen into that "channel" (app/token) for incoming notification and spam them to other users.
I hope to be clear.
Could this be implementable?
Not really a new "issue" but an issue for me for sure.
I've installed for the first time the v2.5.0 gotify server in ubuntu and would like to try your plugin before having a workaround to send same app notif to lots of user.
Now since i'm kinda noob in building projects via go and github could you please write a mini how-to from scratch(i know you already wrote something in the readme but sadly it didn't worked)?
Or just release the version of the plugin compatible with the latest server :)
Thanks in advance!
Nice functionality. Perfect for my use case.
Is there a way to trim the following data from the broadcast?:
==============
Sent with gotify-broadcast plugin.
Sender: uName (Admin)
Channel: ChName
Priority: 5
Impossible to use the plugin with my gotify install, i have this error :
panic: error while loading plugin broadcasts-linux-amd64-for-gotify-v2.0.22.so: plugin.Open("data/plugins/broadcasts-linux-amd64-for-gotify-v2.0.22"): plugin was built with a different version of package gopkg.in/yaml.v2
I've spent a good part of this afternoon trying to get this working with v2.0.19 -- seems no matter what I do something's out of alignment for the versions between the plugin and the base program.
Any help/suggestions would be appreciated.
I'm unable to run with this plugin (plugin version 2.0.5 with gotify 2.0.5)
gotify@gotify:/var/www/gotify$ ls p/
broadcast.so
gotify@gotify:/var/www/gotify$ ./gotify-linux-amd64
Starting Gotify version 2.0.5@2019-04-14-14:11:45
(Error 1406: Data too long for column 'config' at row 1)
[2019-06-07 14:57:14]
panic: Error 1406: Data too long for column 'config' at row 1
goroutine 1 [running]:
github.com/gotify/server/router.Create(0xc00009a298, 0xc000086240, 0xc0000d6000, 0x48, 0xc0000982b0)
/proj/router/router.go:46 +0x311f
main.main()
/proj/app.go:51 +0x382
My config file :
gotify@gotify:/var/www/gotify$ cat config.yml
server:
listenaddr: "" # the address to bind on, leave empty to bind on all addresses
port: 8080 # the port for the http server
ssl:
enabled: false # if https should be enabled
redirecttohttps: true # redirect to https if site is accessed by http
listenaddr: "" # the address to bind on, leave empty to bind on all addresses
port: 443 # the https port
certfile: # the cert file (leave empty when using letsencrypt)
certkey: # the cert key (leave empty when using letsencrypt)
letsencrypt:
enabled: false # if the certificate should be requested from letsencrypt
accepttos: false # if you accept the tos from letsencrypt
cache: data/certs # the directory of the cache from letsencrypt
hosts: # the hosts for which letsencrypt should request certificates
- mydomain.tld
- myotherdomain.tld
responseheaders: # response headers are added to every response (default: none)
Access-Control-Allow-Origin: "*"
Access-Control-Allow-Methods: "GET,POST"
stream:
allowedorigins: # allowed origins for websocket connections (same origin is always allowed, default only same origin)
- ".+.lan"
- "localhost"
database: # see below
dialect: mysql
connection: gotify:******************@/gotify?charset=utf8&parseTime=True&loc=Local
defaultuser: # on database creation, gotify creates an admin user (these values will only be used for the first start, if you want to edit the user after the first start use the WebUI)
name: admin # the username of the default user
pass: *************** # the password of the default user
passstrength: 12 # the bcrypt password strength (higher = better but also slower)
uploadedimagesdir: /var/www/gotify/data/images # the directory for storing uploaded images
pluginsdir: /var/www/gotify/p # the directory where plugin resides (leave empty to disable plugins)
I am trying to install the plugin on Gotify version 2.2.4 and I am getting the following errors:
goroutine 20 [GC worker (idle)]:
runtime.gopark(0x8d62e1e9ec8210?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc000054f50 sp=0xc000054f30 pc=0x70f876
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1235 +0xf1 fp=0xc000054fe0 sp=0xc000054f50 pc=0x6f13b1
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000054fe8 sp=0xc000054fe0 pc=0x73e901
created by runtime.gcBgMarkStartWorkers
/usr/local/go/src/runtime/mgc.go:1159 +0x25
goroutine 5 [select]:
runtime.gopark(0xc00005b788?, 0x2?, 0x11?, 0x0?, 0xc00005b784?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc00005b610 sp=0xc00005b5f0 pc=0x70f876
runtime.selectgo(0xc00005b788, 0xc00005b780, 0x0?, 0x0, 0x0?, 0x1)
/usr/local/go/src/runtime/select.go:328 +0x7bc fp=0xc00005b750 sp=0xc00005b610 pc=0x71ee7c
database/sql.(*DB).connectionOpener(0xc0000e0c30, {0x153edd8, 0xc00035ca80})
/usr/local/go/src/database/sql/sql.go:1224 +0x8d fp=0xc00005b7b8 sp=0xc00005b750 pc=0xc995cd
database/sql.OpenDB.func1()
/usr/local/go/src/database/sql/sql.go:792 +0x2e fp=0xc00005b7e0 sp=0xc00005b7b8 pc=0xc9788e
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00005b7e8 sp=0xc00005b7e0 pc=0x73e901
created by database/sql.OpenDB
/usr/local/go/src/database/sql/sql.go:792 +0x18d
goroutine 6 [chan receive]:
runtime.gopark(0x1a7f640?, 0xc00005bee8?, 0x3d?, 0x24?, 0x7fa1197835b8?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc00005be68 sp=0xc00005be48 pc=0x70f876
runtime.chanrecv(0xc00010ef60, 0xc00005bf70, 0x1)
/usr/local/go/src/runtime/chan.go:583 +0x49b fp=0xc00005bef8 sp=0xc00005be68 pc=0x6db7fb
runtime.chanrecv1(0x0?, 0x0?)
/usr/local/go/src/runtime/chan.go:442 +0x18 fp=0xc00005bf20 sp=0xc00005bef8 pc=0x6db2f8
github.com/gotify/server/v2/plugin.NewManager.func1()
/proj/plugin/manager.go:69 +0xd2 fp=0xc00005bfe0 sp=0xc00005bf20 pc=0xd62e32
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00005bfe8 sp=0xc00005bfe0 pc=0x73e901
created by github.com/gotify/server/v2/plugin.NewManager
/proj/plugin/manager.go:67 +0x252
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.