Skip to content

Instantly share code, notes, and snippets.

@BlizzardBlue
Last active April 26, 2016 07:01
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BlizzardBlue/ed4fcf67aee27ab9021f to your computer and use it in GitHub Desktop.
Save BlizzardBlue/ed4fcf67aee27ab9021f to your computer and use it in GitHub Desktop.
Shouts out "모닝모닝" at the speed of light.
# -*- coding: utf-8 -*-
import requests
import json
import time
from decimal import *
token = 'place your Web API token here' # https://api.slack.com
api_url = 'https://slack.com/api/chat.postMessage'
data = {
'token': token,
'channel': '@blizzardblue',
'text': '모닝모닝',
'username': 'BlizzardBlue'
}
# 목표 시간
target_time = Decimal(time.mktime(time.strptime('2016-01-01 00:00:00', '%Y-%m-%d %H:%M:%S')))
# 테스트 메시지 전송하여 레이턴시 리턴
def time_correction(api_url, data):
request_time = Decimal(time.time())
response = requests.post(api_url, data)
response_time = Decimal(response.json()['ts'])
print "request_time: {}\nresponse_time: {}\ndelta: {}\n".format(request_time, response_time, response_time - request_time)
return response_time - request_time
# 테스트 10회 수행하여 레이턴시 평균 계산
time_correction_list = []
for i in range(10):
time_correction_list.append(time_correction(api_url, data))
time.sleep(2)
delta_mean = Decimal(0)
for t in time_correction_list:
delta_mean += t
delta_mean = delta_mean / len(time_correction_list)
# 레이턴시 보정된 목표 시간
target_time_corrected = target_time - delta_mean
print "target time: {}\ntarget time corrected: {}".format(target_time, target_time_corrected)
# 보정된 목표 시간까지 루프
while True:
if str(time.time()) == str(target_time_corrected)[:14]:
response = requests.post(api_url, data = {
'token': token,
'channel': '#_general',
'text': '모닝모닝',
'username': 'BlizzardBlue'
})
print "DONE: {}".format(response.json()['ts'])
exit(0)
@ujuc
Copy link

ujuc commented Dec 31, 2015

음... 어...음..

@minieetea
Copy link

Copy link

ghost commented Jan 4, 2016

우와..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment