summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/website_telegram.py
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-10-04 12:28:29 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-10-04 12:28:29 +0700
commitcc862f2bb8a6a751612bab7fb2d07f7306f9a4fd (patch)
treebfe81d62d885f8ef7541f4f5241ed56ced3b50d5 /indoteknik_custom/models/website_telegram.py
parent5d3accd9e7f1321ef93cf4a8ce8b8f472143a72f (diff)
<iman> add telegram
Diffstat (limited to 'indoteknik_custom/models/website_telegram.py')
-rw-r--r--indoteknik_custom/models/website_telegram.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/indoteknik_custom/models/website_telegram.py b/indoteknik_custom/models/website_telegram.py
new file mode 100644
index 00000000..8fc6a8ea
--- /dev/null
+++ b/indoteknik_custom/models/website_telegram.py
@@ -0,0 +1,63 @@
+import requests
+
+import clipboard
+
+from odoo import models, fields, api
+
+class WebsiteTelegram(models.Model):
+ _name = 'website.telegram'
+ _description = 'Telegram Channel'
+
+ name = fields.Char(string='Bot Name', required=True)
+ bot_name = fields.Char(string='Bot Token', help="Create your bot from Bot Father form Telegram App", required=True, )
+ python_code = fields.Char(compute="_calc_python_code")
+ chatID = fields.Char(string='Channel Name', required=True, help="Create yor channel , Add members , Add Bot As an Admin")
+
+ test_message = fields.Char(string='Test Message', required=False, default='Test')
+
+ def send_to_telegram(self, message):
+ # if self.env.all.registry.db_name == 'odoo016':return
+
+ # message = self.env.all.registry.db_name + " : " + message
+ message = self.test_message
+
+ apiURL = f'https://api.telegram.org/bot{self.bot_name}/sendMessage'
+ try:
+ requests.post(apiURL, json={'chat_id': self.chatID, 'text': message})
+ except Exception as e:
+ print(e)
+
+ def test_send(self):
+ try:
+ self.env.cr.savepoint()
+
+ self.env['website.telegram'].search([('name', '=', self.name)])[0].send_to_telegram(self.test_message)
+ except Exception as e:
+ print(e)
+
+ @api.depends('name', 'chatID', 'bot_name')
+ def _calc_python_code(self):
+ for record in self:
+ if not record.name:
+ record.python_code = "pleas put a name"
+ elif not record.test_message:
+ record.test_message = "test"
+ else:
+ record.python_code = "self.env['website.telegram'].search([('name', '=', '" + record.name + "')])[0].send_to_telegram('" + record.test_message + "')"
+
+ def copy_chat_id(self):
+ record = self.browse(self.id)
+ clipboard.copy(record.python_code)
+
+ def paste_chat_id(self):
+ record = self.browse(self.id)
+ chat_id = clipboard.paste()
+ record.write({'chatID': chat_id})
+
+ def paste_bot_name(self):
+ record = self.browse(self.id)
+ bot_name = clipboard.paste()
+ record.write({'bot_name': bot_name})
+
+
+