diff --git a/README.md b/README.md index 8cbdb7f82..78b301bec 100644 --- a/README.md +++ b/README.md @@ -43,3 +43,18 @@ or For more information about using Python on Heroku, see these Dev Center articles: - [Python on Heroku](https://devcenter.heroku.com/categories/python) + +## Ngrok + +https://api.telegram.org/bot/setWebHook?url=https://polar-plains-99906.herokuapp.com/message/ +https://api.telegram.org/bot/setWebHook?url=http://03b91271.ngrok.io/message/ + +## Save changes + +`git push my-own master` + +## Adding new migration + +`python3 manage.py makemigrations` + +`heroku run manage.py migrate` diff --git a/gettingstarted/settings.py b/gettingstarted/settings.py index 9ea552a0c..aba30d4b9 100644 --- a/gettingstarted/settings.py +++ b/gettingstarted/settings.py @@ -40,13 +40,14 @@ "django.contrib.messages", "django.contrib.staticfiles", "hello", + "line", + "viber", ] MIDDLEWARE = [ "django.middleware.security.SecurityMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", "django.middleware.common.CommonMiddleware", - "django.middleware.csrf.CsrfViewMiddleware", "django.contrib.auth.middleware.AuthenticationMiddleware", "django.contrib.messages.middleware.MessageMiddleware", "django.middleware.clickjacking.XFrameOptionsMiddleware", diff --git a/gettingstarted/urls.py b/gettingstarted/urls.py index 13b759582..81191ade7 100644 --- a/gettingstarted/urls.py +++ b/gettingstarted/urls.py @@ -5,6 +5,8 @@ admin.autodiscover() import hello.views +import line.views +import viber.views # To add a new path, first import the app: # import blog @@ -16,6 +18,18 @@ urlpatterns = [ path("", hello.views.index, name="index"), - path("db/", hello.views.db, name="db"), + path("login/", hello.views.login, name="login"), path("admin/", admin.site.urls), + path("logout/", hello.views.logout, name="logout"), + + path("line-message-callback/", line.views.message_callback, name="line_message_callback"), + path("line-message-reply/", line.views.message_reply, name="line_message_reply"), + + path("viber-callback/", viber.views.callback_url, name="viber_callback_url"), + path("viber-send/", viber.views.send_message, name="viber_send"), + + # seems like routes are somehow dpendent, so this one goes last + # to not mess up with the rest + path("send/", hello.views.send_message, name="send"), + path("message/", hello.views.message, name="message") ] diff --git a/hello/admin.py b/hello/admin.py index 8c38f3f3d..e578503e3 100644 --- a/hello/admin.py +++ b/hello/admin.py @@ -1,3 +1,8 @@ from django.contrib import admin +from hello.models import Message +from hello.models import Users -# Register your models here. +# class MessageAdmin(admin.ModelAdmin): +# pass +admin.site.register(Message) +admin.site.register(Users) diff --git a/hello/forms.py b/hello/forms.py new file mode 100644 index 000000000..726e2449c --- /dev/null +++ b/hello/forms.py @@ -0,0 +1,4 @@ +from django import forms + +class MessageForm(forms.Form): + message = forms.CharField(label='Message', max_length=120) diff --git a/hello/migrations/0002_auto_20200424_1311.py b/hello/migrations/0002_auto_20200424_1311.py new file mode 100644 index 000000000..9aab0538b --- /dev/null +++ b/hello/migrations/0002_auto_20200424_1311.py @@ -0,0 +1,26 @@ +# Generated by Django 3.0.5 on 2020-04-24 13:11 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('hello', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='Message', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('user', models.CharField(max_length=80, verbose_name='user')), + ('message', models.TextField(verbose_name='message')), + ], + ), + migrations.AlterField( + model_name='greeting', + name='when', + field=models.DateTimeField(auto_now_add=True, verbose_name='date created'), + ), + ] diff --git a/hello/migrations/0003_message_raw_message.py b/hello/migrations/0003_message_raw_message.py new file mode 100644 index 000000000..86c45edf4 --- /dev/null +++ b/hello/migrations/0003_message_raw_message.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.5 on 2020-04-27 07:42 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('hello', '0002_auto_20200424_1311'), + ] + + operations = [ + migrations.AddField( + model_name='message', + name='raw_message', + field=models.TextField(default='', verbose_name='raw_message'), + ), + ] diff --git a/hello/migrations/0004_message_chat_id.py b/hello/migrations/0004_message_chat_id.py new file mode 100644 index 000000000..bfd179cfd --- /dev/null +++ b/hello/migrations/0004_message_chat_id.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.5 on 2020-04-27 08:15 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('hello', '0003_message_raw_message'), + ] + + operations = [ + migrations.AddField( + model_name='message', + name='chat_id', + field=models.CharField(default='', max_length=80, verbose_name='chat_id'), + ), + ] diff --git a/hello/migrations/0005_users.py b/hello/migrations/0005_users.py new file mode 100644 index 000000000..3e452fa8b --- /dev/null +++ b/hello/migrations/0005_users.py @@ -0,0 +1,20 @@ +# Generated by Django 3.0.5 on 2020-04-27 08:31 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('hello', '0004_message_chat_id'), + ] + + operations = [ + migrations.CreateModel( + name='Users', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('user', models.CharField(max_length=80, verbose_name='user')), + ], + ), + ] diff --git a/hello/models.py b/hello/models.py index 8229092ef..52f0c1316 100644 --- a/hello/models.py +++ b/hello/models.py @@ -3,3 +3,12 @@ # Create your models here. class Greeting(models.Model): when = models.DateTimeField("date created", auto_now_add=True) + +class Message(models.Model): + user = models.CharField("user", max_length=80) + chat_id = models.CharField("chat_id", max_length=80, default="") + message = models.TextField("message") + raw_message = models.TextField("raw_message", default="") + +class Users(models.Model): + user = models.CharField("user", max_length=80) diff --git a/hello/templates/base.html b/hello/templates/base.html index 97ec07386..be2246e85 100644 --- a/hello/templates/base.html +++ b/hello/templates/base.html @@ -47,31 +47,20 @@