Compare commits

...

4 Commits

Author SHA1 Message Date
ec5b7eafaa
version bump 2022-01-02 14:42:46 +01:00
5a0a91ec87
add timezone 2022-01-02 14:41:27 +01:00
50650d1e07
readme 2021-12-20 16:08:28 +01:00
e0c76e258e
deplyment 2021-12-20 15:46:21 +01:00
6 changed files with 38 additions and 8 deletions

View File

@ -23,6 +23,12 @@ jobs:
type=semver,pattern={{version}} type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}} type=semver,pattern={{major}}
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
# - name: Login to DockerHub # - name: Login to DockerHub
# uses: docker/login-action@v1 # uses: docker/login-action@v1
# with: # with:

View File

@ -6,3 +6,22 @@
[Telegraf](https://telegraf.js.org/) [Telegraf](https://telegraf.js.org/)
## Deployment ## Deployment
```yaml
# docker-compose.yaml
version: '3.8'
services:
app:
image: ghcr.io/cupcakearmy/hcs
restart: unless-stopped
env_file: .env
volumes:
- ./data:/app/data
```
```bash
# .env
BOT_TOKEN=<telegram bot token>
HCS_PASSWORD=<password for users>
```

View File

@ -1,3 +1,6 @@
# DEVELOPMENT ONLY
# See README.md
version: '3.8' version: '3.8'
services: services:

View File

@ -1,6 +1,6 @@
{ {
"private": true, "private": true,
"version": "1.0.0-rc.0", "version": "1.0.1",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
"engines": { "engines": {

View File

@ -6,19 +6,22 @@ import { getLatests } from './routes/status.js'
async function fn() { async function fn() {
const now = dayjs() const now = dayjs()
const { fed, clean } = getLatests()
const needsFeeding = !fed || dayjs(fed.timestamp).isBefore(now.subtract(12, 'hours'))
const needsCleaning = !clean || dayjs(clean.timestamp).isBefore(now.subtract(7, 'days'))
for (const user of DB.data?.users ?? []) { for (const user of DB.data?.users ?? []) {
const { fed, clean } = getLatests() if (needsFeeding) {
if (!fed || dayjs(fed.timestamp).isBefore(now.subtract(12, 'hours'))) {
await bot.telegram.sendMessage(user.id, '🥜 You have not fed me in the last 12 hours!') await bot.telegram.sendMessage(user.id, '🥜 You have not fed me in the last 12 hours!')
} }
if (needsCleaning) {
if (!clean || dayjs(clean.timestamp).isBefore(now.subtract(7, 'days'))) {
await bot.telegram.sendMessage(user.id, '🛁 You have not cleaned me in the last 7 days!') await bot.telegram.sendMessage(user.id, '🛁 You have not cleaned me in the last 7 days!')
} }
} }
} }
export function init() { export function init() {
cron.schedule('0 22 * * *', fn) const timezone = 'Europe/Berlin'
// cron.schedule('*/10 * * * * *', fn) cron.schedule('0 22 * * *', fn, { timezone })
// cron.schedule('*/10 * * * * *', fn, {timezone})
} }

View File

@ -4,7 +4,6 @@ export const Version = process.env['npm_package_version']
export function init(bot: Bot) { export function init(bot: Bot) {
bot.command('/version', async (ctx) => { bot.command('/version', async (ctx) => {
// ctx.reply('Version: ' + version)
ctx.reply(`Version: ${Version}`) ctx.reply(`Version: ${Version}`)
}) })
} }