summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-12-20 09:39:47 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-12-20 09:39:47 +0700
commit9ba922eded6d752c2a4299c9c444238309877bb9 (patch)
tree7bdd165e374e39fc8ee69cd58c2032403f9051f3
parent05d8edef111df1f32be76f3fdfaabfb1c8057644 (diff)
<iman> update code
-rw-r--r--indoteknik_custom/models/ir_actions_report.py1
-rw-r--r--indoteknik_custom/models/website_telegram.py38
2 files changed, 29 insertions, 10 deletions
diff --git a/indoteknik_custom/models/ir_actions_report.py b/indoteknik_custom/models/ir_actions_report.py
index f6ef4e3e..b7d4e372 100644
--- a/indoteknik_custom/models/ir_actions_report.py
+++ b/indoteknik_custom/models/ir_actions_report.py
@@ -16,6 +16,7 @@ class IrActionsReport(models.Model):
telegram_data = {
'tittle': sale_order.name,
'about': sale_order.name,
+ 'user_id': sale_order,
'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 a3c64c7e..ade6c326 100644
--- a/indoteknik_custom/models/website_telegram.py
+++ b/indoteknik_custom/models/website_telegram.py
@@ -33,8 +33,13 @@ class WebsiteTelegram(models.Model):
@api.depends('user_id')
def _compute_username_to_add(self):
- for name in self.user_id:
- self.username_to_add.append(str(name.mobile))
+ for record in self:
+ usernames = []
+ for partner in record.user_id:
+ if partner.mobile: # Pastikan mobile tidak None
+ usernames.append(partner.mobile)
+ # Gabungkan semua nomor menjadi satu string, dipisahkan koma
+ record.username_to_add = ', '.join(usernames)
def create_channel(self, *args, **kwargs):
asyncio.run(self._async_create_channel())
@@ -125,14 +130,27 @@ class WebsiteTelegram(models.Model):
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))
+ # Memproses username_to_add menjadi list
+ usernames = self.username_to_add.split(', ') # Pisahkan berdasarkan koma dan spasi
+
+ # Iterasi untuk setiap username
+ for username in usernames:
+ if username: # Pastikan username tidak kosong
+ try:
+ # Mendapatkan entitas user berdasarkan username
+ user_to_add = await client.get_entity(username)
+
+ # Mengundang user ke channel
+ result_add_user = await client(functions.channels.InviteToChannelRequest(
+ channel=channel,
+ users=[user_to_add.id],
+ ))
+ except Exception as e:
+ # Tangani error (misal user tidak ditemukan atau sudah ada di channel)
+ print(f"Error adding user {username}: {e}")
+
+ # Mengirim pesan ke channel
+ result_message = await client(SendMessageRequest(channel, message))
def test_send(self):
try: