gpt4 book ai didi

python-3.x - odoo 从代码向用户发送消息(通知)

转载 作者:行者123 更新时间:2023-12-05 07:26:48 35 4
gpt4 key购买 nike

我正在尝试制作一个模块来检查 Skype 并通知用户有关新消息的信息。我遇到了在 odoo 中通过他的 id 向用户发送消息的问题,我是否需要从消息模块的某个地方继承,或者我是否需要以某种方式管理代码以便发送消息。

初始化.py

from . import controllers
from . import models
import threading
import skpy



class MySkype(skpy.SkypeEventLoop):
def onEvent(self, event):
if isinstance(event, skpy.SkypeNewMessageEvent):
print(repr(event))
message = ('New message from user {} at {}: \'{} \''.format(event.msg.userId,
event.msg.time.strftime(
'%H:%M dd. %d.%m.%Y'),
event.msg.content))
models.models.skype_bot.SentMail(message)

if __name__ == '__main__':
from skpy import Skype
global client
global sk
client = Skype('', '', '.skype_token')
sk = MySkype(tokenFile=".skype_token", autoAck=True)
thread = threading.Thread(target=sk.loop)
thread.start()

模型.py

    from odoo import models, fields, api
import threading
import skpy
import logging

_logger = logging.getLogger(__name__)

class skype_bot(models.Model):
_inherit = 'skype_bot'
_name = 'my.skype'
_description = 'My Skype'



def SentMail(self, message):
self.env['mail.message'].create({'message_type': "notification",
"subtype": self.env.ref("mail.mt_comment").id, # subject type
'body': message,
'subject': "Message subject",
'needaction_partner_ids': [(4, 3, 1)],
# partner to whom you send notification
})


self.message_post(
subject='Skype message',
body=message,
partner_ids=[(4, 3, 1)]
)

SentMail("test")

你可以在这里看到所有的代码https://github.com/Sabrjkee/odootry

最佳答案

需要在模型中使用_inherit = ['mail.thread']

关于python-3.x - odoo 从代码向用户发送消息(通知),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54252865/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com