• R/O
  • HTTP
  • SSH
  • HTTPS

simple-tornado-bot: Commit

tornadoでつくったLine bot


Commit MetaInfo

Revision92d9b6212a94497256c0b581ac05ef5ebd564594 (tree)
Time2018-09-11 22:12:03
Authoryamat0jp <yamat0jp@yaho...>
Commiteryamat0jp

Log Message

update

Change Summary

Incremental Difference

--- a/bot.py
+++ b/bot.py
@@ -53,14 +53,10 @@ class WebHookHandler(tornado.web.RequestHandler):
5353 return ans
5454
5555 def setting(self, dbname):
56- client = pymongo.MongoClient(uri)[ac]
57- if dbname in client.collection_names(include_system_collections=False):
58- db = client['users']
56+ if dbname in self.database.collection_names(include_system_collections=False):
57+ db = self.database['users']
5958 item = db.find_one({'name':self.uid})
60- if not item:
61- db.insert({'name':self.uid, 'dbname':dbname})
62- return True
63- elif item['dbname'] == dbname:
59+ if item['dbname'] == dbname:
6460 return False
6561 else:
6662 db.update({'name':self.uid}, {'name':self.uid, 'dbname':dbname})
@@ -68,16 +64,11 @@ class WebHookHandler(tornado.web.RequestHandler):
6864 return False
6965
7066 def users(self):
71- client = pymongo.MongoClient(uri)[ac]
72- db = client['users']
67+ db = self.database['users']
7368 item = db.find_one({'name':self.uid})
74- if item:
75- x = item['dbname']
76- return client[x], x
77- else:
78- db.insert({'name':self.uid, 'dbname':'glove'})
79- return client['glove'], 'glove'
80-
69+ x = item['dbname']
70+ return self.database[x], x
71+
8172 def post(self):
8273 '''
8374 signature = self.request.headers['X-Line-Signature']
@@ -91,9 +82,18 @@ class WebHookHandler(tornado.web.RequestHandler):
9182 '''
9283 dic = tornado.escape.json_decode(self.request.body)
9384 for event in dic['events']:
94- if 'replyToken' in event:
95- x = event['message']['text']
85+ if 'replyToken' in event.keys():
9686 self.uid = event['source']['userId']
87+ self.database = pymongo.MongoClient(uri)[ac]
88+ if event['type'] == 'unfollow':
89+ self.database['users'].remove({'name':self.uid})
90+ return
91+ elif event['type'] == 'join':
92+ db = self.database['users']
93+ if not db.find_one({'name':self.uid}):
94+ db.insert({'name':self.uid, 'dbname':'glove'})
95+ return
96+ x = event['message']['text']
9797 if self.setting(x):
9898 linebot.reply_message(event['replyToken'],
9999 TextSendMessage(text=u'設定完了.'))
Show on old repository browser