Skip to Content
Menu
This question has been flagged

I'm trying to make a function to send a message to a specific user for this in my model I wrote this code


    class SkypeBot(models.Model):
        _name = 'my.skype'
        _inherit = ['mail.thread', 'mail.activity', 'res.users']
        _description = 'My Skype'
    
    
        skype_login = fields.Char('Your skype Login')
        skype_password = fields.Char('Your skype password')
        skype_message = fields.Char(store=True)
    
        @api.multi
        def msg(self, message):
    
            partner_id = self.env['res.users'].search([('id', '=', 2)]).partner_id.id
    
            _logger.info('^^^^^' * 5)
            _logger.warning(partner_id)
            _logger.info('^^^^^' * 5)
    
            self.env['mail.message'].create({'message_type': 'notification',
                                             'subtype': self.env.ref('mail.mt_comment').id,  # subject type
                                             'body': message,
                                             'subject': 'Message subject',
                                             'partner_ids': [(4, partner_id), ],
                                             # partner to whom you send notification
                                             })



I need to connect the odoo environment to thread which I call here so that I can calmly call the msg method from the SkypeBot class and send a message to the user. How to do it right

    class MySkype(skpy.SkypeEventLoop):
        def onEvent(self, event):
            if isinstance(event, skpy.SkypeNewMessageEvent):  
                                                                 
                message = ('New message from user {} at {}: \'{} \''.format(event.msg.userId,
                                                                       event.msg.time.strftime('%H:%M dd. %d.%m.%Y'),
                                                                       event.msg.content))
    
    
                _logger.info('--------'*5)
                _logger.warning(event)
                _logger.info('--------' * 5)
                _logger.warning(message)
                _logger.info('--------' * 5)
    
                sbot = skype_model.SkypeBot()
                sbot.msg(message)
    
    from skpy import Skype
    
    sk = MySkype('+375', '1239qW', autoAck=True)
    thread = threading.Thread(target=sk.loop)
    thread.start()
Avatar
Discard
Related Posts Replies Views Activity
1
Jun 20
3089
0
Dec 20
2733
1
Oct 20
2740
2
Dec 23
12010
0
Oct 23
33