summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indoteknik_custom/models/ir_actions_report.py2
-rw-r--r--indoteknik_custom/models/website_telegram.py22
-rw-r--r--indoteknik_custom/views/website_telegram.xml18
3 files changed, 33 insertions, 9 deletions
diff --git a/indoteknik_custom/models/ir_actions_report.py b/indoteknik_custom/models/ir_actions_report.py
index 286c3a3d..f6ef4e3e 100644
--- a/indoteknik_custom/models/ir_actions_report.py
+++ b/indoteknik_custom/models/ir_actions_report.py
@@ -15,7 +15,7 @@ class IrActionsReport(models.Model):
return
telegram_data = {
'tittle': sale_order.name,
- 'about': sale_order.name + ' Telah Di Print',
+ 'about': sale_order.name,
'id_data': sale_order.id,
'username': '@' + sale_order.name.replace('/', '')
}
diff --git a/indoteknik_custom/models/website_telegram.py b/indoteknik_custom/models/website_telegram.py
index 25dea14e..a3c64c7e 100644
--- a/indoteknik_custom/models/website_telegram.py
+++ b/indoteknik_custom/models/website_telegram.py
@@ -16,9 +16,13 @@ from telethon.tl.types import TextWithEntities
class WebsiteTelegram(models.Model):
_name = 'website.telegram'
_description = 'Telegram Channel'
+
+
tittle = fields.Char("Channel Title")
invite_link = fields.Char("Channel invite link")
username = fields.Char("Channel Name")
+ username_to_add = fields.Char("username to add on channel", compute='_compute_username_to_add')
+ user_id = fields.Many2many('res.partner', string='User Member', store=True)
id_data = fields.Char("Channel ID")
about = fields.Char("Channel Description")
is_broadcast = fields.Boolean("Is Broadcast", default=True)
@@ -27,6 +31,11 @@ class WebsiteTelegram(models.Model):
# session_string = 'MIIBCgKCAQEAyMEdY1aR+sCR3ZSJrtztKTKqigvO/vBfqACJLZtS7QMgCGXJ6XIRyy7mx66W0/sOFa7/1mAZtEoIokDP3ShoqF4fVNb6XeqgQfaUHd8wJpDWHcR2OFwvplUUI1PLTktZ9uW2WE23b+ixNwJjJGwBDJPQEQFBE+vfmH0JP503wr5INS1poWg/j25sIWeYPHYeOrFp/eXaqhISP6G+q2IeTaWTXpwZj4LzXq5YOpk4bYEQ6mvRq7D1aHWfYmlEGepfaYR8Q0YqvvhYtMte3ITnuSJs171+GDqpdKcSwHnd6FudwGO4pcCOj4WcDuXc2CTHgH8gFTNhp/Y8/SpDOhvn9QIDAQAB'
+ @api.depends('user_id')
+ def _compute_username_to_add(self):
+ for name in self.user_id:
+ self.username_to_add.append(str(name.mobile))
+
def create_channel(self, *args, **kwargs):
asyncio.run(self._async_create_channel())
@@ -35,7 +44,7 @@ class WebsiteTelegram(models.Model):
'1BVtsOJABu30MWCBFwYvvaYbFoIWi43r5a7TUZ2IWwrnSlXIwEhJS5k2y4UKjoDeMPKwhgUWn9lMk02zQjM0ZDzq61YyhkRBvZuu3hCxMsrtP92bkuZtL2g3g1VgI8s7rMhOD_WaGrZbuj-TmbTwIEbN5i1J4raDW2kYzmlLRCbT74xxrGjpzWCnVv7CSS9L2juXuut0lLMgli3_JZbqDO1IyBYh4ZFQYbMf7zv6moDR4MQp1qfnFArsikQcfxjlNXKFcSoyA_GjiIFfCuymwQVtdERXOAH03M_lm8fYbjvgxEkJvxR6hdCnYMcKpIujEEo9SmMmK7Vnl29g1TCPO5tlrDNXq3Ng='),
27799517, 'df8ee44b0ed11108245037d47b511201') as client:
result = await client(functions.channels.CreateChannelRequest(
- title=self.tittle + ' Telah Diprint',
+ title=self.tittle,
about=self.about,
broadcast=False,
megagroup=True,
@@ -115,12 +124,21 @@ class WebsiteTelegram(models.Model):
'1BVtsOJABu30MWCBFwYvvaYbFoIWi43r5a7TUZ2IWwrnSlXIwEhJS5k2y4UKjoDeMPKwhgUWn9lMk02zQjM0ZDzq61YyhkRBvZuu3hCxMsrtP92bkuZtL2g3g1VgI8s7rMhOD_WaGrZbuj-TmbTwIEbN5i1J4raDW2kYzmlLRCbT74xxrGjpzWCnVv7CSS9L2juXuut0lLMgli3_JZbqDO1IyBYh4ZFQYbMf7zv6moDR4MQp1qfnFArsikQcfxjlNXKFcSoyA_GjiIFfCuymwQVtdERXOAH03M_lm8fYbjvgxEkJvxR6hdCnYMcKpIujEEo9SmMmK7Vnl29g1TCPO5tlrDNXq3Ng='),
27799517, 'df8ee44b0ed11108245037d47b511201') as client:
channel = await client.get_entity(self.invite_link)
+
+ for name in self.username_to_add:
+ data = name
+ user_to_add = await client.get_entity(data)
+ result_add_user = await client(functions.channels.InviteToChannelRequest(
+ channel=channel,
+ users=[user_to_add.id],
+ ))
result_massage = await client(SendMessageRequest(channel, message))
+
def test_send(self):
try:
self.env.cr.savepoint()
- self.env['website.telegram'].search([('name', '=', self.name)])[0].send_to_telegram(self.test_message)
+ self.env['website.telegram'].search([('tittle', '=', self.tittle)])[0].send_to_telegram('test message')
except Exception as e:
print(e)
diff --git a/indoteknik_custom/views/website_telegram.xml b/indoteknik_custom/views/website_telegram.xml
index 887d62e1..d8590fc0 100644
--- a/indoteknik_custom/views/website_telegram.xml
+++ b/indoteknik_custom/views/website_telegram.xml
@@ -8,26 +8,32 @@
</record>
<record id="website_telegram_tree" model="ir.ui.view">
- <field name="name">Channel Telegram</field>
+ <field name="name">website.telegram.tree</field>
<field name="model">website.telegram</field>
<field name="arch" type="xml">
- <tree string="Channel List" editable="top">
+ <tree string="Channel List">
<field name="tittle"/>
<field name="about"/>
+ <field name="user_id"/>
<button name="test_send" type="object" icon="fa-paper-plane" string="Send Test"/>
- <button name="create_channel" type="object" icon="fa-paper-plane" string="Create Channel"/>
- <button name="receive_messages" type="object" icon="fa-paper-plane" string="GET Test"/>
+<!-- <button name="create_channel" type="object" icon="fa-paper-plane" string="Create Channel"/>-->
+<!-- <button name="receive_messages" type="object" icon="fa-paper-plane" string="GET Test"/>-->
</tree>
</field>
</record>
<record id="website_telegram_form" model="ir.ui.view">
- <field name="name">Channel Telegram</field>
+ <field name="name">website.telegram.form</field>
<field name="model">website.telegram</field>
<field name="arch" type="xml">
- <form string="Telegram Channel">
+ <form create="0">
<sheet>
<group>
+ <group>
+ <field name="tittle"/>
+ <field name="about"/>
+ <field name="user_id" widget="many2many_tags"/>
+ </group>
</group>
</sheet>
</form>