Implement Telegram notifications
Some refactoring
This commit is contained in:
parent
52d86d0bc6
commit
64a757b2de
146 changed files with 359 additions and 13 deletions
10
INSTALL.md
10
INSTALL.md
|
@ -35,3 +35,13 @@ The application is then available at [http://localhost:8000/].
|
||||||
If you want to make your Kumify instance available through a network, you will need to set up something like gunicorn and nginx. How this works is beyond the scope of this document. To prepare your static files for this, make sure ```STATIC_ROOT``` is set to the correct location in localsettings.py if you don't use S3, then run:
|
If you want to make your Kumify instance available through a network, you will need to set up something like gunicorn and nginx. How this works is beyond the scope of this document. To prepare your static files for this, make sure ```STATIC_ROOT``` is set to the correct location in localsettings.py if you don't use S3, then run:
|
||||||
|
|
||||||
```python3 manage.py collectstatic```
|
```python3 manage.py collectstatic```
|
||||||
|
|
||||||
|
### Cron job
|
||||||
|
|
||||||
|
In order to use scheduled tasks, you need to make sure that the ```/cron/``` endpoint is called at regular intervals. Every five minutes should work fine. Use a command like ```curl http://localhost:8000/cron/```, for example.
|
||||||
|
|
||||||
|
### Telegram webhook
|
||||||
|
|
||||||
|
If you wish to receive incoming messages through the Telegram gateway, your server must be reachable from the Internet. Configure a public IP/domain name as well as an HTTPS certificate, then run:
|
||||||
|
|
||||||
|
```python3 manage.py telegramwebhook```
|
0
cronhandler/__init__.py
Normal file
0
cronhandler/__init__.py
Normal file
3
cronhandler/admin.py
Normal file
3
cronhandler/admin.py
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
from django.contrib import admin
|
||||||
|
|
||||||
|
# Register your models here.
|
5
cronhandler/apps.py
Normal file
5
cronhandler/apps.py
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
from django.apps import AppConfig
|
||||||
|
|
||||||
|
|
||||||
|
class CronhandlerConfig(AppConfig):
|
||||||
|
name = 'cronhandler'
|
3
cronhandler/models.py
Normal file
3
cronhandler/models.py
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
from django.db import models
|
||||||
|
|
||||||
|
# Create your models here.
|
3
cronhandler/signals.py
Normal file
3
cronhandler/signals.py
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
from django.dispatch import Signal
|
||||||
|
|
||||||
|
cron = Signal()
|
3
cronhandler/tests.py
Normal file
3
cronhandler/tests.py
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
# Create your tests here.
|
9
cronhandler/urls.py
Normal file
9
cronhandler/urls.py
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
from .views import CronHandlerView
|
||||||
|
|
||||||
|
from django.urls import path
|
||||||
|
|
||||||
|
app_name = "cron"
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
path('', CronHandlerView.as_view(), name="cronhandler"),
|
||||||
|
]
|
8
cronhandler/views.py
Normal file
8
cronhandler/views.py
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
from django.views.generic import View
|
||||||
|
from django.http import HttpResponse
|
||||||
|
|
||||||
|
from .signals import cron
|
||||||
|
|
||||||
|
class CronHandlerView(View):
|
||||||
|
def get(self, *args, **kwargs):
|
||||||
|
return HttpResponse()
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue