コード例 #1
0
def set_ping(bot, update, args, job_queue, chat_data):
    """Add a job to the queue."""
    chat_id = update.message.chat_id
    try:
        # args[0] should contain the time for the ping in minutes
        interval = int(args[0])
        if interval <= 0:
            update.message.reply_text('Sorry we can not go back to future!')
            return
        else:
            min_interval = interval * 60

        entities = update.message.parse_entities()
        try:
            entity = list(entities.keys())[1]
        except:
            update.message.reply_text("Please mention someone. " +
                                      "Pingo-bot don't know what " +
                                      "he need to do ;)")
            return

        if not entity.user:
            update.message.reply_text("Please mention a user in the group")
            return

        user_arg = args[1]
        all_text = update.message.text
        start_text = all_text.find(user_arg) + len(user_arg)
        ping_text = all_text[start_text:].lstrip()

        from_user = update.message.from_user
        from_user_complite = (str(from_user.id) + ', ' +
                              str(from_user.first_name) + ' ' +
                              str(from_user.last_name))

        Message.create(chat_id=chat_id,
                       created=datetime.now(),
                       content=ping_text,
                       from_user=from_user_complite,
                       to_user_id=entity['user']['id'],
                       to_user=entity['user']['first_name'])

        # Add job to queue
        job = job_queue.run_repeating(alarm, min_interval, context=chat_id)
        chat_data['job'] = job

        update.message.reply_text('Ping successfully set!')

    except (IndexError, ValueError):
        update.message.reply_text('Usage: /ping_on <minutes> ' +
                                  '<mention user with "@" symbol> ' +
                                  '<message, if you wish>')
コード例 #2
0
def create_message(user_id: str, **kwargs):
    """
    Creates a new message by params in kwargs
    :param user_id: <str> Telegram user_id
    :param kwargs: <dict> kwargs with all columns in the table message
    :return: None
    """
    user = UserTg.where(user_id=user_id).first()
    kwargs['usertg'] = user
    _msg = Message.create(**kwargs)
    session.commit()
コード例 #3
0
    def add_message(self, message):
        """Adds a message to the database.

        Args:
            message: A discord message.

        Returns:
            A message record.
        """
        message = Message.create(content=message.content,
                                 channel_id=message.channel_id,
                                 member=message.author_id,
                                 date=message.timestamp)
        return message
コード例 #4
0
ファイル: test_db.py プロジェクト: tamkovich/Finagram
def test_create_message():
    bob = UserTg.where(user_id='20490124').first()
    _msg = Message.create(body='Привет Мир!', usertg=bob, branch='dec5')
    session.commit()
コード例 #5
0
def test_create_message():
    bob = UserTg.where(user_id='20490124').first()
    _msg = Message.create(body='Hello world!', usertg=bob)
    session.commit()