Comments (5)
I'm ok with the idea of decoupling the transform from the account config to facilitate having different sources. It would probably be sufficient to specify the type of source e,.g: {:source :twitter ...}
since the path is just an implementation detail. Pulling in aero for this might be a bit ovekill. :)
from mastodon-bot.
That seems like it could be reasonable, another option could be to add the transform rules under the config map for each service, e.g:
{:twitter
{:access-keys ...
:transform
[{:accounts ["WIRED"] :include-replies? false :signature "#twitterbot"} ...]}
from mastodon-bot.
Let's call your idea no 3.
idea no 3 would have the charm, that the source credentials are very clear assigned. And I like the impression :signature
binds stronger to the source. But on the other hand in combination with #46 the used target credentials are very implicit and we can not express mastodon->twitter.
What do you think about a combination of idea no 2 & no 3?
As I'm quite a fan of aero we could use aero's references.
In this case config can look like:
{:auth {:twitter { ... credentials ...}
:mastodon { ... credentials ... }}
:transform [
{:source #ref [:auth :twitter] :target #ref [:auth :mastodon]
:accounts ["WIRED"] :include-replies? false :signature "#twitterbot"} ...]}
Advantages would be:
- we can reuse the auth-config-parts wherever we will need em.
- direction is expressive
- transform will become a first class citizen (namespace). And we can e.g. think about whether signature is part of transformation vs. part of mastodon-api vs. part of twitter-api.
- we can even have more than only one credential per api - in case #46 the source mastodon account will not be the bot-account. I'm not sure, whether mastodons public timeline access will be enough.
- It is in general a good practice to separate credentials from rest of configuration (in devops we depend heavily on git managed configuration - without exposing the credential part). We are using aroe's
include
in this scenario. But let's handle this argument only as a weak feeling, as I think that is not really relevant in our case.
from mastodon-bot.
done :-)
from mastodon-bot.
🎉
from mastodon-bot.
Related Issues (20)
- optimizations cause runtime crash HOT 6
- double-check 'media-only' works HOT 2
- allow reading credentials from a separate file HOT 3
- Security: Inspect dependencies for this three packages HOT 4
- Installation failed HOT 25
- switch from using raw promises and deasync to core.async promise API HOT 2
- Find better CI-automation HOT 26
- Visibility always set to unlisted HOT 2
- publish releases to npmjs HOT 9
- Lack of clarity on how to run the application HOT 2
- Running bot ends with no output HOT 9
- Provide mastodon-bot as docker container HOT 4
- Unexpected EOF HOT 4
- Provide schema as jar HOT 4
- Map literals must contain an even number of forms. HOT 3
- Bot runs forever but no content posted HOT 2
- Sync gitlab with github HOT 2
- Privacy for youtube / instagram / reddit links
- Help on create Twitter API HOT 7
- LICENSE file missing from root directory HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mastodon-bot.