diff options
| -rw-r--r-- | indoteknik_custom/models/ir_actions_report.py | 2 | ||||
| -rw-r--r-- | indoteknik_custom/models/website_telegram.py | 22 | ||||
| -rw-r--r-- | indoteknik_custom/views/website_telegram.xml | 18 |
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> |
