From 22d0f6fa2eacb5078972eea0d5243bae5612c89a Mon Sep 17 00:00:00 2001 From: kiote Date: Fri, 24 Apr 2020 11:47:51 +0300 Subject: [PATCH 01/70] Demo --- hello/views.py | 8 +++++--- requirements.txt | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/hello/views.py b/hello/views.py index c2480724b..e98b161af 100644 --- a/hello/views.py +++ b/hello/views.py @@ -1,3 +1,5 @@ +import requests + from django.shortcuts import render from django.http import HttpResponse @@ -5,9 +7,9 @@ # Create your views here. def index(request): - # return HttpResponse('Hello from Python!') - return render(request, "index.html") - + r = requests.get('http://httpbin.org/status/418') + print(r.text) + return HttpResponse('
' + r.text + '
') def db(request): diff --git a/requirements.txt b/requirements.txt index 4af6a3765..97ec627b9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ django gunicorn -django-heroku \ No newline at end of file +django-heroku +request From c234f81b0a86c4a95e61a0c5686fbfdf5de015fe Mon Sep 17 00:00:00 2001 From: kiote Date: Fri, 24 Apr 2020 11:50:57 +0300 Subject: [PATCH 02/70] fix module name --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 97ec627b9..fb450cffa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ django gunicorn django-heroku -request +requests From 3c7c44ff1153a07132bdf7da3bc3b9e9f4399643 Mon Sep 17 00:00:00 2001 From: kiote Date: Fri, 24 Apr 2020 14:33:24 +0300 Subject: [PATCH 03/70] button --- hello/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hello/views.py b/hello/views.py index e98b161af..9afe2a608 100644 --- a/hello/views.py +++ b/hello/views.py @@ -9,7 +9,8 @@ def index(request): r = requests.get('http://httpbin.org/status/418') print(r.text) - return HttpResponse('
' + r.text + '
') + telega_login = '' + return HttpResponse('
' + r.text + '
' + telega_login) def db(request): From dec017a427ed7f7e1c40b3cc714fdd577c637fdb Mon Sep 17 00:00:00 2001 From: kiote Date: Fri, 24 Apr 2020 15:37:05 +0300 Subject: [PATCH 04/70] add messages --- gettingstarted/urls.py | 1 + hello/views.py | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/gettingstarted/urls.py b/gettingstarted/urls.py index 13b759582..bf250dcfd 100644 --- a/gettingstarted/urls.py +++ b/gettingstarted/urls.py @@ -16,6 +16,7 @@ urlpatterns = [ path("", hello.views.index, name="index"), + path("message/", hello.views.message, name="message"), path("db/", hello.views.db, name="db"), path("admin/", admin.site.urls), ] diff --git a/hello/views.py b/hello/views.py index 9afe2a608..228372727 100644 --- a/hello/views.py +++ b/hello/views.py @@ -12,6 +12,10 @@ def index(request): telega_login = '' return HttpResponse('
' + r.text + '
' + telega_login) +def message(request): + message = request.body + return HttpResponse('
' + message.decode("utf-8") + '
') + def db(request): greeting = Greeting() From 428b42a3bca7d2cda994b57699b77dd2d39a14b1 Mon Sep 17 00:00:00 2001 From: kiote Date: Fri, 24 Apr 2020 16:15:26 +0300 Subject: [PATCH 05/70] add message --- hello/admin.py | 5 +++- hello/migrations/0002_auto_20200424_1311.py | 26 +++++++++++++++++++++ hello/models.py | 4 ++++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 hello/migrations/0002_auto_20200424_1311.py diff --git a/hello/admin.py b/hello/admin.py index 8c38f3f3d..11d3fa7d9 100644 --- a/hello/admin.py +++ b/hello/admin.py @@ -1,3 +1,6 @@ from django.contrib import admin +from hello.models import Message -# Register your models here. +# class MessageAdmin(admin.ModelAdmin): +# pass +admin.site.register(Message) 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/models.py b/hello/models.py index 8229092ef..bf89e8e5b 100644 --- a/hello/models.py +++ b/hello/models.py @@ -3,3 +3,7 @@ # 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) + message = models.TextField("message") From 851e605de7284d3b01077d8c61cde1b292439aa1 Mon Sep 17 00:00:00 2001 From: kiote Date: Fri, 24 Apr 2020 16:29:10 +0300 Subject: [PATCH 06/70] no error --- gettingstarted/settings.py | 1 - 1 file changed, 1 deletion(-) diff --git a/gettingstarted/settings.py b/gettingstarted/settings.py index 9ea552a0c..9e11ebb3d 100644 --- a/gettingstarted/settings.py +++ b/gettingstarted/settings.py @@ -46,7 +46,6 @@ "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", From 730747896526d7dec43b8eb5e8409ddd3c270842 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 10:22:07 +0300 Subject: [PATCH 07/70] add logging --- README.md | 5 +++++ hello/views.py | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/README.md b/README.md index 8cbdb7f82..8dc50b137 100644 --- a/README.md +++ b/README.md @@ -43,3 +43,8 @@ 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/ diff --git a/hello/views.py b/hello/views.py index 228372727..beb7a9067 100644 --- a/hello/views.py +++ b/hello/views.py @@ -1,10 +1,13 @@ import requests +import logging from django.shortcuts import render from django.http import HttpResponse from .models import Greeting +logger = logging.getLogger(__name__) + # Create your views here. def index(request): r = requests.get('http://httpbin.org/status/418') @@ -14,6 +17,7 @@ def index(request): def message(request): message = request.body + logger.error(message.decode("utf-8")) return HttpResponse('
' + message.decode("utf-8") + '
') def db(request): From b81d2313953a6237fce2a5c68bfaf93dd16a2400 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 10:26:23 +0300 Subject: [PATCH 08/70] json --- README.md | 4 ++++ hello/views.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/README.md b/README.md index 8dc50b137..52a22513b 100644 --- a/README.md +++ b/README.md @@ -48,3 +48,7 @@ For more information about using Python on Heroku, see these Dev Center articles 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` diff --git a/hello/views.py b/hello/views.py index beb7a9067..36949e8d9 100644 --- a/hello/views.py +++ b/hello/views.py @@ -1,5 +1,6 @@ import requests import logging +import json from django.shortcuts import render from django.http import HttpResponse @@ -17,7 +18,9 @@ def index(request): def message(request): message = request.body + d = json.loads(message) logger.error(message.decode("utf-8")) + logger.error(d['message']['text']) return HttpResponse('
' + message.decode("utf-8") + '
') def db(request): From 979bcd79495d0f352be5a996e19eff270d8eface Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 10:32:26 +0300 Subject: [PATCH 09/70] save message --- hello/views.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hello/views.py b/hello/views.py index 36949e8d9..1ff7698c1 100644 --- a/hello/views.py +++ b/hello/views.py @@ -6,6 +6,7 @@ from django.http import HttpResponse from .models import Greeting +from .models import Message logger = logging.getLogger(__name__) @@ -19,6 +20,14 @@ def index(request): def message(request): message = request.body d = json.loads(message) + + message_text = d['message']['text'] + message_from = d['message']['from'] + message_raw = message + + db_message = Message(user=message_from, message=message_text) + db_message.save() + logger.error(message.decode("utf-8")) logger.error(d['message']['text']) return HttpResponse('
' + message.decode("utf-8") + '
') From 0534667e1eba7c23e22aa7873c6d9c4f62436e32 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 10:35:21 +0300 Subject: [PATCH 10/70] from id --- hello/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hello/views.py b/hello/views.py index 1ff7698c1..24b4907cd 100644 --- a/hello/views.py +++ b/hello/views.py @@ -22,7 +22,7 @@ def message(request): d = json.loads(message) message_text = d['message']['text'] - message_from = d['message']['from'] + message_from = d['message']['from']['id'] message_raw = message db_message = Message(user=message_from, message=message_text) From eef68f8e07d1ff3c0c0fc360d1b7a67516841aed Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 10:40:04 +0300 Subject: [PATCH 11/70] save raw message --- hello/models.py | 1 + hello/views.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/hello/models.py b/hello/models.py index bf89e8e5b..72f6c5c70 100644 --- a/hello/models.py +++ b/hello/models.py @@ -7,3 +7,4 @@ class Greeting(models.Model): class Message(models.Model): user = models.CharField("user", max_length=80) message = models.TextField("message") + raw_message = models.TextField("raw_message") diff --git a/hello/views.py b/hello/views.py index 24b4907cd..894bb83f2 100644 --- a/hello/views.py +++ b/hello/views.py @@ -25,7 +25,7 @@ def message(request): message_from = d['message']['from']['id'] message_raw = message - db_message = Message(user=message_from, message=message_text) + db_message = Message(user=message_from, message=message_text, raw_message=message_raw) db_message.save() logger.error(message.decode("utf-8")) From 2a7a6a3c11de10f2f19632dbd71de72fa24183d6 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 10:42:37 +0300 Subject: [PATCH 12/70] migration --- hello/migrations/0003_message_raw_message.py | 18 ++++++++++++++++++ hello/models.py | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 hello/migrations/0003_message_raw_message.py 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/models.py b/hello/models.py index 72f6c5c70..78e12cd2f 100644 --- a/hello/models.py +++ b/hello/models.py @@ -7,4 +7,4 @@ class Greeting(models.Model): class Message(models.Model): user = models.CharField("user", max_length=80) message = models.TextField("message") - raw_message = models.TextField("raw_message") + raw_message = models.TextField("raw_message", default="") From 0d28e7bdf6cf4a31d127bf1b6857002980b057b5 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 11:21:20 +0300 Subject: [PATCH 13/70] add chat id --- hello/migrations/0004_message_chat_id.py | 18 ++++++++++++++++++ hello/models.py | 1 + hello/views.py | 6 +++++- 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 hello/migrations/0004_message_chat_id.py 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/models.py b/hello/models.py index 78e12cd2f..118a182cc 100644 --- a/hello/models.py +++ b/hello/models.py @@ -6,5 +6,6 @@ class Greeting(models.Model): 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="") diff --git a/hello/views.py b/hello/views.py index 894bb83f2..7d1c590be 100644 --- a/hello/views.py +++ b/hello/views.py @@ -23,9 +23,13 @@ def message(request): message_text = d['message']['text'] message_from = d['message']['from']['id'] + message_chat_id = d['message']['chat']['id'] message_raw = message - db_message = Message(user=message_from, message=message_text, raw_message=message_raw) + db_message = Message(user=message_from, + message=message_text, + raw_message=message_raw, + chat_id=message_chat_id) db_message.save() logger.error(message.decode("utf-8")) From 402c4818b04411a91bc55a502be3ea9cd28a7cfd Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 11:32:11 +0300 Subject: [PATCH 14/70] add users --- README.md | 6 ++++++ hello/migrations/0005_users.py | 20 ++++++++++++++++++++ hello/models.py | 3 +++ hello/views.py | 3 +++ 4 files changed, 32 insertions(+) create mode 100644 hello/migrations/0005_users.py diff --git a/README.md b/README.md index 52a22513b..78b301bec 100644 --- a/README.md +++ b/README.md @@ -52,3 +52,9 @@ https://api.telegram.org/bot/setWebHook?url=http://03b91271.ngrok.io/messag ## Save changes `git push my-own master` + +## Adding new migration + +`python3 manage.py makemigrations` + +`heroku run manage.py migrate` 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 118a182cc..52f0c1316 100644 --- a/hello/models.py +++ b/hello/models.py @@ -9,3 +9,6 @@ class Message(models.Model): 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/views.py b/hello/views.py index 7d1c590be..0afdeaca4 100644 --- a/hello/views.py +++ b/hello/views.py @@ -17,6 +17,9 @@ def index(request): telega_login = '' return HttpResponse('
' + r.text + '
' + telega_login) +def reply(request): + last_message = "ho" + def message(request): message = request.body d = json.loads(message) From 50587c17893dd7efaa2578e46dc173b097e036c2 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 12:03:49 +0300 Subject: [PATCH 15/70] save user after login --- gettingstarted/urls.py | 2 +- hello/admin.py | 2 ++ hello/views.py | 24 ++++++++++++------------ 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/gettingstarted/urls.py b/gettingstarted/urls.py index bf250dcfd..cfef6e4c5 100644 --- a/gettingstarted/urls.py +++ b/gettingstarted/urls.py @@ -17,6 +17,6 @@ urlpatterns = [ path("", hello.views.index, name="index"), path("message/", hello.views.message, name="message"), - path("db/", hello.views.db, name="db"), + path("login/", hello.views.login, name="login"), path("admin/", admin.site.urls), ] diff --git a/hello/admin.py b/hello/admin.py index 11d3fa7d9..e578503e3 100644 --- a/hello/admin.py +++ b/hello/admin.py @@ -1,6 +1,8 @@ from django.contrib import admin from hello.models import Message +from hello.models import Users # class MessageAdmin(admin.ModelAdmin): # pass admin.site.register(Message) +admin.site.register(Users) diff --git a/hello/views.py b/hello/views.py index 0afdeaca4..7468166d8 100644 --- a/hello/views.py +++ b/hello/views.py @@ -5,8 +5,8 @@ from django.shortcuts import render from django.http import HttpResponse -from .models import Greeting from .models import Message +from .models import Users logger = logging.getLogger(__name__) @@ -14,11 +14,17 @@ def index(request): r = requests.get('http://httpbin.org/status/418') print(r.text) - telega_login = '' + telega_login = '' return HttpResponse('
' + r.text + '
' + telega_login) -def reply(request): - last_message = "ho" +def login(request): + user_id = request.GET['id'] + if exists(user_id): + pass + else: + user = Users(user=user_id) + user.save() + return HttpResponse('ok') def message(request): message = request.body @@ -39,11 +45,5 @@ def message(request): logger.error(d['message']['text']) return HttpResponse('
' + message.decode("utf-8") + '
') -def db(request): - - greeting = Greeting() - greeting.save() - - greetings = Greeting.objects.all() - - return render(request, "db.html", {"greetings": greetings}) +def exists(user_id): + Users.objects.filter(user=user_id).count() From a8c9fa80d8d3991c74b34c5a4acaf2cb15da44f7 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 12:45:21 +0300 Subject: [PATCH 16/70] cookie --- hello/models.py | 1 + hello/views.py | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/hello/models.py b/hello/models.py index 52f0c1316..49ad7ac61 100644 --- a/hello/models.py +++ b/hello/models.py @@ -12,3 +12,4 @@ class Message(models.Model): class Users(models.Model): user = models.CharField("user", max_length=80) + diff --git a/hello/views.py b/hello/views.py index 7468166d8..de47933ff 100644 --- a/hello/views.py +++ b/hello/views.py @@ -19,12 +19,14 @@ def index(request): def login(request): user_id = request.GET['id'] + response = HttpResponse('ok') if exists(user_id): - pass + response.set_cookie('Telegram', 'LoggedIn', user_id) else: user = Users(user=user_id) user.save() - return HttpResponse('ok') + response.set_cookie('Telegram', 'LoggedIn', user_id) + return response def message(request): message = request.body From 9cd9cb26cc53f1f2e3de1553d05cba6ae4ef9037 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 12:54:22 +0300 Subject: [PATCH 17/70] to str --- hello/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hello/views.py b/hello/views.py index de47933ff..a04274be3 100644 --- a/hello/views.py +++ b/hello/views.py @@ -21,11 +21,11 @@ def login(request): user_id = request.GET['id'] response = HttpResponse('ok') if exists(user_id): - response.set_cookie('Telegram', 'LoggedIn', user_id) + response.set_cookie('Telegram', 'LoggedIn', str(user_id)) else: user = Users(user=user_id) user.save() - response.set_cookie('Telegram', 'LoggedIn', user_id) + response.set_cookie('Telegram', 'LoggedIn', str(user_id)) return response def message(request): From c06fd92dd0f3c9a7fbe74a8be995aa038295a2c2 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 12:59:22 +0300 Subject: [PATCH 18/70] to str --- hello/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hello/views.py b/hello/views.py index a04274be3..551d92ba0 100644 --- a/hello/views.py +++ b/hello/views.py @@ -25,7 +25,7 @@ def login(request): else: user = Users(user=user_id) user.save() - response.set_cookie('Telegram', 'LoggedIn', str(user_id)) + response.set_cookie('Telegram', str(user_id)) return response def message(request): From 6f36053c78e29931673ebf475023196b2f5b6666 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 13:01:00 +0300 Subject: [PATCH 19/70] to str --- hello/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hello/views.py b/hello/views.py index 551d92ba0..c067e8b6f 100644 --- a/hello/views.py +++ b/hello/views.py @@ -21,7 +21,7 @@ def login(request): user_id = request.GET['id'] response = HttpResponse('ok') if exists(user_id): - response.set_cookie('Telegram', 'LoggedIn', str(user_id)) + response.set_cookie('Telegram', str(user_id)) else: user = Users(user=user_id) user.save() From 81188f545e0d45566ba1042fe6cefd3cf2d69fef Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 13:21:40 +0300 Subject: [PATCH 20/70] add send --- gettingstarted/urls.py | 1 + hello/views.py | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/gettingstarted/urls.py b/gettingstarted/urls.py index cfef6e4c5..6b6510182 100644 --- a/gettingstarted/urls.py +++ b/gettingstarted/urls.py @@ -19,4 +19,5 @@ path("message/", hello.views.message, name="message"), path("login/", hello.views.login, name="login"), path("admin/", admin.site.urls), + path("send/", hello.views.send_message), ] diff --git a/hello/views.py b/hello/views.py index c067e8b6f..ad4c2d6c0 100644 --- a/hello/views.py +++ b/hello/views.py @@ -9,6 +9,7 @@ from .models import Users logger = logging.getLogger(__name__) +send_message_url = 'https://api.telegram.org/bot%s/sendMessage?chat_id=%s&text=%s' # Create your views here. def index(request): @@ -17,6 +18,13 @@ def index(request): telega_login = '' return HttpResponse('
' + r.text + '
' + telega_login) +def send_message(request): + user_id = request.COOKIES['Telegram'] + full_url = send_message_url % (os.environ.get('TELEGRAM_KEY'), user_id, 'hi') + r = requests.get(full_url) + print(r.text) + return HttpResponse('
' + r.text + '
') + def login(request): user_id = request.GET['id'] response = HttpResponse('ok') @@ -47,5 +55,7 @@ def message(request): logger.error(d['message']['text']) return HttpResponse('
' + message.decode("utf-8") + '
') +## non-public stuff + def exists(user_id): Users.objects.filter(user=user_id).count() From 83f59b6896026e947eb85923fd07eb44817b17cc Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 13:55:24 +0300 Subject: [PATCH 21/70] add send --- gettingstarted/urls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gettingstarted/urls.py b/gettingstarted/urls.py index 6b6510182..8d8e0f7e5 100644 --- a/gettingstarted/urls.py +++ b/gettingstarted/urls.py @@ -19,5 +19,5 @@ path("message/", hello.views.message, name="message"), path("login/", hello.views.login, name="login"), path("admin/", admin.site.urls), - path("send/", hello.views.send_message), + path("send/", hello.views.send_message, name="send") ] From d28c1774e96fca816a3e8d264b8f78c3405d3dc6 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 14:00:47 +0300 Subject: [PATCH 22/70] os --- hello/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hello/views.py b/hello/views.py index ad4c2d6c0..360b5db8e 100644 --- a/hello/views.py +++ b/hello/views.py @@ -1,6 +1,7 @@ -import requests -import logging import json +import logging +import os +import requests from django.shortcuts import render from django.http import HttpResponse From 5c7bb8f82a91584b7fc7c7aa0bacc9fac8acbcfb Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 14:17:58 +0300 Subject: [PATCH 23/70] add form --- hello/forms.py | 4 ++++ hello/templates/send_message.html | 8 ++++++++ hello/views.py | 19 +++++++++++++++---- 3 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 hello/forms.py create mode 100644 hello/templates/send_message.html 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/templates/send_message.html b/hello/templates/send_message.html new file mode 100644 index 000000000..d742b3651 --- /dev/null +++ b/hello/templates/send_message.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} + +{% block content %} +
+ {{ form }} + +
+{% endblock%} diff --git a/hello/views.py b/hello/views.py index 360b5db8e..4ce5fb6de 100644 --- a/hello/views.py +++ b/hello/views.py @@ -9,6 +9,8 @@ from .models import Message from .models import Users +from .forms import MessageForm + logger = logging.getLogger(__name__) send_message_url = 'https://api.telegram.org/bot%s/sendMessage?chat_id=%s&text=%s' @@ -21,10 +23,19 @@ def index(request): def send_message(request): user_id = request.COOKIES['Telegram'] - full_url = send_message_url % (os.environ.get('TELEGRAM_KEY'), user_id, 'hi') - r = requests.get(full_url) - print(r.text) - return HttpResponse('
' + r.text + '
') + form = MessageForm() + + if request.method == 'POST': + form = MessageForm(request.POST) + if form.is_valid(): + message =form.cleaned_data['message'] + full_url = send_message_url % (os.environ.get('TELEGRAM_KEY'), user_id, message) + r = requests.get(full_url) + print(r.text) + else: + print('Invalid form') + + return render(request, 'send_message.html', {'form': form}) def login(request): user_id = request.GET['id'] From f9d6aab52c2ed486cf75e646b83dd1be77a2ded3 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 14:22:29 +0300 Subject: [PATCH 24/70] clean form --- hello/templates/send_message.html | 2 -- hello/views.py | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/hello/templates/send_message.html b/hello/templates/send_message.html index d742b3651..3df9fd091 100644 --- a/hello/templates/send_message.html +++ b/hello/templates/send_message.html @@ -1,5 +1,3 @@ -{% extends "base.html" %} - {% block content %}
{{ form }} diff --git a/hello/views.py b/hello/views.py index 4ce5fb6de..2fdde4eb2 100644 --- a/hello/views.py +++ b/hello/views.py @@ -28,10 +28,11 @@ def send_message(request): if request.method == 'POST': form = MessageForm(request.POST) if form.is_valid(): - message =form.cleaned_data['message'] + message = form.cleaned_data['message'] full_url = send_message_url % (os.environ.get('TELEGRAM_KEY'), user_id, message) r = requests.get(full_url) print(r.text) + return http.HttpResponseRedirect('') else: print('Invalid form') From 26f4b7329a1a89b3a7b8f98a07076432cfaf805d Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 14:26:34 +0300 Subject: [PATCH 25/70] fix --- hello/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hello/views.py b/hello/views.py index 2fdde4eb2..032de5c0d 100644 --- a/hello/views.py +++ b/hello/views.py @@ -32,7 +32,7 @@ def send_message(request): full_url = send_message_url % (os.environ.get('TELEGRAM_KEY'), user_id, message) r = requests.get(full_url) print(r.text) - return http.HttpResponseRedirect('') + return HttpResponseRedirect('') else: print('Invalid form') From c56703f621aaa14174c7a78192ce1da360c3caa1 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 14:27:51 +0300 Subject: [PATCH 26/70] add redirect --- hello/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hello/views.py b/hello/views.py index 032de5c0d..7dab4c0b1 100644 --- a/hello/views.py +++ b/hello/views.py @@ -4,7 +4,7 @@ import requests from django.shortcuts import render -from django.http import HttpResponse +from django.http import HttpResponse, HttpResponseRedirect from .models import Message from .models import Users From a4a7b9eff5861ad8a1ff1369240df672b7c17e70 Mon Sep 17 00:00:00 2001 From: kiote Date: Mon, 27 Apr 2020 14:38:36 +0300 Subject: [PATCH 27/70] add menu --- hello/templates/base.html | 28 ++++------------ hello/templates/index.html | 54 +------------------------------ hello/templates/send_message.html | 2 ++ hello/views.py | 7 ++-- 4 files changed, 12 insertions(+), 79 deletions(-) diff --git a/hello/templates/base.html b/hello/templates/base.html index 97ec07386..d75c16ad5 100644 --- a/hello/templates/base.html +++ b/hello/templates/base.html @@ -47,31 +47,17 @@