Coder Social home page Coder Social logo

satont / twitch-notifier Goto Github PK

View Code? Open in Web Editor NEW
25.0 3.0 4.0 9.61 MB

Notify users about some streamer wen't online

Home Page: https://t.me/TwiNotifyBot

Dockerfile 0.31% Shell 0.03% Makefile 0.39% Go 99.27%
twitch vk docker ts typescript bot postgre notify users psql

twitch-notifier's Introduction

Twitch Notifier

GitHub go.mod Go version Coverage Status

Bot for sending twitch streams notifications in telegram.

Development

Download dependencies

go mod download

Requirements

  • Golang 1.19+

Generate

After clone/on first setup/on schema change - you should run

make generate

Testing

make tests

Running

docker compose -f docker-compose.dev.yml up -d
make dev

Database schemas and migrations

Writing schemas

All schemas located in ./ent/schema directory, but also we are using internal structures. Internal structures located in internal/db/db_models. So you should change both of them.

After changing any schema in /ent/schema folder, you should regenerate data via make generate

Migrations

Requirements

Create

make migrate-create somecoolname

Apply

make migrate-apply

twitch-notifier's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

twitch-notifier's Issues

Real-time list of live channels

Hello.

I know about /live command which prints list of live followed channels.

But it can be helpful to have real-time renewing list instead of re-sending this command manually.

Suggestion: use pinning messages (in Telegram, not sure about other platforms).

Telegram has pins even in direct messages from recent times, and user can pin a message for a bot via checkbox:

image

So, I think, bot can receive this event and start edit pinned message at online/offline events if pinned message is a response to /live command.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Не работает подписка Telegram

Здравствуйте, команда /follow не добавляется стримеров по нику, бот ожидает от меня ник, но он игнорирует сообщение с ником! Проверка на наличие подписки работает. Также команда /live ничего не выводит, но она не особо важна для меня.
imageimageimage

Buttons for unfollow

Hello.

I guess it can be kind of hard, especially for a lot of following channels.

But it'd be handy to choose a channel for unfollow (after /unfollow command) by buttons, without manual typing the channel name.

Store stream categories

It will give ooportunity to monitor category stream time, history of categories per stream, e.t.c

Support arguments for commands

Hello.

I'd like to use commands like:

> /follow woodju_22
< You successfuly followed to woodju_22

Instead of:

> /follow
< Enter streamer username you want to follow
> woodju_22
< You successfuly followed to woodju_22

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Research for serverless mode

It may be possible to switch to a serverless architecture. In this mode, everything would be handled "on demand" instead of a constantly running version of the application.

Placeholders for empty categories

Hello.

Sometimes streams have empty categories, and then you'll get notifications like:

SAD_SATONT now streaming Grand Theft Auto! Previous category:

I guess, it'd be nicer with some text like "nothing", maybe italic (via bot's Markdown).

False positive offline notifications for re-runs end

Twitch Notify, [21/11/2021 10:53]
[ Photo ]
melharucos online!
Category: The Elder Scrolls V: Skyrim
Title: !tg ЛЕГЕНДА СКАЙРИМА В ГИЛЬДИИ ВОРОВ
https://twitch.tv/melharucos

Twitch Notify, [21/11/2021 16:45]
[ Photo ]
melharucos now streaming Sports
Previous category: The Elder Scrolls V: Skyrim
https://twitch.tv/melharucos

Twitch Notify, [21/11/2021 18:54]
melharucos now offline
Stream duration was: 8 hours

there re-run started, without notification, which I think OK

Twitch Notify, [22/11/2021 13:34]
melharucos now offline
Stream duration was: a day

Ignore categories

Add ability to disable recieve notifications about stream started/updated and related to some category.

For example you won't recieve Dota 2 notifications, and you may want to exclude this category.

Команды ВКонтакте

Здравствуйте, у меня уже несколько месяцев не работают и даже не читаются команды в группе vk
image

Command for list all live channels

Hello!

We have the /follows command for list following channels (and /followings could be nice alias).

But also a command for list live following channels would be handful. Like /live.

Without previews, I think. Just a list of name, category, maybe title.

Notify when category changes [$5 awarded]

Hello!

Thank you for Telegram bot, it's comfortable enough.

But I don't want to see some categories on channels I follow. Like, I may not to like Game A and want to watch Game B. And streamer can start a stream with Game A, and I don't open it, and then switch to Game B, and I want to be notified about this.

Thank you.


The $5 bounty on this issue has been claimed at Bountysource.

Add `/cancel` command

Sometimes peoples can write missed commands and can't back because the command wanna get an argument. Can you add /cancel command for the undo user action?

Remove VK

I won't support vk.com anymore. Need to delete this service.

Split live time in offline message by category

Hi.

It's about #53, but I want to ask you to show not just "Stream duration was: 5 hours", but something like:

Stream duration was: 5 hours

  • 2 hours of Just Chatting
  • 1 hour of Call of Duty
  • 2 hours of Just Chatting

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.