Nikos Filippakis
1be6c8c1cd
Enable e2ee across all services and save crypto material in the database ( #324 )
* Add device ID to the configuration
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Basic e2ee support for some commands
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Move some of the client and crypto logic to a new BotClient type
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Use the state store to retrieve room joined users
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Start creating the database APIs for the crypto store
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Replace mautrix.Client usage with BotClient for all services to use the
e2ee-enabled client
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Use SQL backend for storing crypto material
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Perform a sync request with full state when starting
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Consider case where device ID is empty and log a warning
Signed-off-by: Nikos Filippakis <me@nfil.dev>
5 years ago
Nikos Filippakis
6409b00205
[WIP] Switch Gomatrix for Mautrix ( #322 )
* Switch core functionality to Mautrix
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Convert and re-enable rssbot
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Convert and re-enable giphy service
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Convert and re-enable wikipedia, imgur and guggy services
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Convert and re-enable Github realm and service, and update go-github
version
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Convert and add the rest of the services
Re-enables the services: alertmanager, google, jira, slackapi, travisci
Signed-off-by: Nikos Filippakis <me@nfil.dev>
5 years ago
Nikos Filippakis
1e297c50ad
Re-format project as a Go module ( #310 )
* Define project as a Go module and update dependency versions
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Update docs, configs and dockerfile to use latest Go version
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Add postgres database driver
Signed-off-by: Nikos Filippakis <me@nfil.dev>
5 years ago
Nikos Filippakis
69e0d1bc39
RSS show author & ability to filter items ( #311 )
* Show author of RSS feed item if available
closes #298
Signed-off-by: Nikos Filippakis <me@nfil.dev>
* Filter RSS feed items by keywords
closes #236 , closes #296
Signed-off-by: Nikos Filippakis <me@nfil.dev>
5 years ago
Michael Kaye
2938b1bd22
Make golint happy
6 years ago
Michael Telatynski
a31aaab46e
Linkify/Expand commits
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
746a8477e7
Improve [owner/repo]#issue expansion regex so that it is less greedy
and no longer matches #1a a#1 as a default match for #1 .
7 years ago
Michael Telatynski
aa00ab2322
fix typos
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
8f60839c77
DRY code - [NEEDS TESTING]
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
f9b708a31f
fix help message
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
dbda4d0119
add !github reopen cmd
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
64328cbb53
change loop to better define its behaviour
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
c9eb00221e
escape title and login, to prevent XSS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
1cc6d0315f
move variable definitions closer to usage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
2141a1a5dd
fix error wording, allow github search without auth
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
da576fa12d
add more aliases and throw them into the example in the usage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
67c121a4b0
add github's weird padded heart emoji as alias
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
a440850ff1
add a bunch of reaction aliases
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
c774bb893b
update react cmd to use a string map for aliases
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
c85abe84da
update defaultRepo wording
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
2b570d9b6c
improve error from no default repo
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
e8a4b1eda5
error-check !github react before calling Github
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
b6fe6092ab
fix cmd usage messages
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
2da64f9fba
add !github assign and tidy !github help generation code
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
c7ad22d4ee
DRY wrt cmd Usages
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
3a046cf3ad
add !github react
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
aa36440112
add !github close command
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
fd9e3a0957
fix error wording
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
58d6be0184
fix err shadowing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
b03b3fd0f5
factor out `requireGithubClientFor`
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Michael Telatynski
fd792f4499
adds the `!github comment` command
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
7 years ago
Matthew Hodgson
7a234d16a4
better log msg
8 years ago
Kegan Dougal
96109afd41
Add "!github help" and fix command selection bug
The last command would always be chosen due to pointer fail.
8 years ago
Kegan Dougal
b98e878227
Use gomatrix
8 years ago
Kegan Dougal
085d3ecfd0
Allow '.' in owner/repo strings
8 years ago
Kegan Dougal
a1fa5c3cac
Add realm documentation
- Add godoc for realms
- Remove realm info from README
8 years ago
Kegan Dougal
7580d93042
400 if a service which needs a syncing client is configured without one
This catches a common configuration error and fails early.
8 years ago
Kegan Dougal
a06ac2d3be
Make it clear that these are example requests
8 years ago
Kegan Dougal
209af79efe
Add example configs for each service
8 years ago
Kegan Dougal
f0cd6be741
Remove docs from the README and link to the godoc instead
8 years ago
Kegan Dougal
3fec1c6fa5
Add docs for all the remaining services and convert them to use NewDefaultService
My hands hurt.
8 years ago
Kegan Dougal
3e21e02171
Remove Plugin. Replace with Commands() and Expansions()
Also split out `types.go` into separate files by the area they cover
(services, auth, actions).
8 years ago
Kegan Dougal
08d4db20bf
Fix panic if github is down
8 years ago
Kegan Dougal
65963cd93f
Add stub RSS Service. Add DefaultService. Add Poller interface.
`DefaultService` serves as a useful no-op service to cut down on bloat when
implementing new Services. This means we can add more methods more freely to
the interface of `Service` without bogging down the Service implementation.
`Poller` is an interface which contains a polling interval and a function to
invoke. This will be used for RSS feeds.
Implemented a stub `RSSService`.
8 years ago
Kegan Dougal
73ea8a705d
Improve !github create parsing
To handle cases where `args[0]` has a `/` but isn't an `owner/repo`.
8 years ago
Kegan Dougal
b5e0665c64
Allow github webhooks to be explicitly removed
Removing a repo entirely from a service will now remove the webhook in the
`PostRegister()` function. This function is still within the `configureService`
critical section to prevent another request for the same service racing with
the cleanup process.
8 years ago
Kegan Dougal
aea0e3a104
Split up github service into 2 services
One for commands/expansions, the other for webhooks. Call the type 'github-webhook'.
8 years ago
Kegan Dougal
6f2d9dc72c
Add giphy integration
8 years ago
Kegan Dougal
d100d8ddd4
Don't share the matchingGroups array across multiple functions because that's insane
8 years ago
Kegan Dougal
95d8f86fa4
Combine together short and long form regexp matching to avoid expanding twice on long form
8 years ago