mirror of
https://github.com/Luzifer/discord-community.git
synced 2024-11-12 17:02:44 +00:00
Document presence module
Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
parent
644eb07404
commit
64b50461b8
3 changed files with 25 additions and 1 deletions
|
@ -12,6 +12,11 @@ import (
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @module presence
|
||||||
|
* @module_desc Updates the presence status of the bot to display the next stream
|
||||||
|
*/
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterModule("presence", func() module { return &modPresence{} })
|
RegisterModule("presence", func() module { return &modPresence{} })
|
||||||
}
|
}
|
||||||
|
@ -25,6 +30,13 @@ func (m *modPresence) Initialize(crontab *cron.Cron, discord *discordgo.Session,
|
||||||
m.attrs = attrs
|
m.attrs = attrs
|
||||||
m.discord = discord
|
m.discord = discord
|
||||||
|
|
||||||
|
if err := attrs.Expect(
|
||||||
|
"fallback_text",
|
||||||
|
); err != nil {
|
||||||
|
return errors.Wrap(err, "validating attributes")
|
||||||
|
}
|
||||||
|
|
||||||
|
// @attr cron optional string "* * * * *" When to execute the module
|
||||||
if _, err := crontab.AddFunc(attrs.MustString("cron", ptrString("* * * * *")), m.cronUpdatePresence); err != nil {
|
if _, err := crontab.AddFunc(attrs.MustString("cron", ptrString("* * * * *")), m.cronUpdatePresence); err != nil {
|
||||||
return errors.Wrap(err, "adding cron function")
|
return errors.Wrap(err, "adding cron function")
|
||||||
}
|
}
|
||||||
|
@ -37,7 +49,8 @@ func (m modPresence) cronUpdatePresence() {
|
||||||
|
|
||||||
// FIXME: Get next stream status
|
// FIXME: Get next stream status
|
||||||
|
|
||||||
status := "mit Seelen"
|
// @attr fallback_text required string "" What to set the text to when no stream is found (`playing <text>`)
|
||||||
|
status := m.attrs.MustString("fallback_text", nil)
|
||||||
if nextStream != nil {
|
if nextStream != nil {
|
||||||
status = fmt.Sprintf("in: %s", m.durationToHumanReadable(time.Since(*nextStream)))
|
status = fmt.Sprintf("in: %s", m.durationToHumanReadable(time.Since(*nextStream)))
|
||||||
}
|
}
|
||||||
|
|
10
wiki/Home.md
10
wiki/Home.md
|
@ -16,6 +16,15 @@ module_configs:
|
||||||
|
|
||||||
# Modules
|
# Modules
|
||||||
|
|
||||||
|
## Type: `presence`
|
||||||
|
|
||||||
|
Updates the presence status of the bot to display the next stream
|
||||||
|
|
||||||
|
| Attribute | Req. | Type | Default Value | Description |
|
||||||
|
| --------- | :--: | ---- | ------------- | ----------- |
|
||||||
|
| `fallback_text` | ✅ | string | | What to set the text to when no stream is found (`playing <text>`) |
|
||||||
|
| `cron` | | string | `* * * * *` | When to execute the module |
|
||||||
|
|
||||||
## Type: `schedule`
|
## Type: `schedule`
|
||||||
|
|
||||||
Posts stream schedule derived from Twitch schedule as embed in Discord channel
|
Posts stream schedule derived from Twitch schedule as embed in Discord channel
|
||||||
|
@ -37,4 +46,5 @@ Posts stream schedule derived from Twitch schedule as embed in Discord channel
|
||||||
| `schedule_past_time` | | duration | `15m` | How long in the past should the schedule contain an entry |
|
| `schedule_past_time` | | duration | `15m` | How long in the past should the schedule contain an entry |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- vim: set ft=markdown : -->
|
<!-- vim: set ft=markdown : -->
|
||||||
|
|
|
@ -26,6 +26,7 @@ module_configs:
|
||||||
{%- for attr in module.attributes %}
|
{%- for attr in module.attributes %}
|
||||||
| `{{ attr.name }}` | {% if attr.required == 'required' %}✅{% endif %} | {{ attr.type }} | {% if attr.default != "" %}`{{ attr.default }}`{% endif %} | {{ attr.description }} |
|
| `{{ attr.name }}` | {% if attr.required == 'required' %}✅{% endif %} | {{ attr.type }} | {% if attr.default != "" %}`{{ attr.default }}`{% endif %} | {{ attr.description }} |
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
<!-- vim: set ft=markdown : -->
|
<!-- vim: set ft=markdown : -->
|
||||||
|
|
Loading…
Reference in a new issue