如何对Slackbot消息进行排序?

时间:2019-12-18 02:48:49

标签: python flask slack

我想用以下2个函数在Python中制作一个Slack机器人。

  1. 如果键入“(任意字符串)++”,则仅返回不带++的“(任意字符串)”。
  2. 如果我按“ / karma_rank”,将按出现次数顺序显示“(任意字符串)”

该机器人本身似乎启动时没有任何错误,但是它的头部带有“ Counter”,并且在元组中具有字典格式,因此它处于我不知道该怎么做的状态。 当前,除非您键入“ ++(任意字符串)”,否则它不会起作用。

如果您知道解决方案,请告诉我。 预先谢谢你。

电流输出

Counter({'abc': 10, 'def': 9, 'ghi': 8, 'jkl': 7, 'mno': 6, 'pqr': 5, 'stu': 4, 'vwx': 3, 'yz1': 2, '234': 1})

理想的输出

abc
def
ghi
jkl
mno
pqr
stu
vwx
yz1
234

代码

#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
from collections import Counter
from flask import Flask, request, jsonify, Response
import os
app = Flask(__name__)

data = []

@app.route('/')
def index():
    return 'hoo'

#When input "++ abc", returned "abc". (Outgoing-webhook)
@app.route('/webhook', methods=['POST'])
def shukei():
    text = request.form.get('text')
    moji = text.strip("+")
    data.append(moji)
    payload = {'text': moji}
    return jsonify(payload)

#How do I sort message?
@app.route('/karma_rank', methods=['POST'])
def slash():
    counter = str(Counter(data))
    payload = {'text': counter}
    return jsonify(payload)

if __name__ == '__main__':
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port, debug=True)

其他信息

iOS 10.15,Python 3.7.4,Atom

1 个答案:

答案 0 :(得分:1)

yourtuple =({'abc':10,'def':9,'ghi':8,'jkl':7,'mno':6,'pqr':5,'stu':4,' vwx':3,'yz1':2,'234':1})

打印([(list(yourtuple))中[mykey的mykey)])