def refresh(): rost = Roster("password.json", "EAST") rost.setEmployees() rost.setOutOfQueue() s = SlackBot() s.refreshOOQ() print(f"Refresh Complete! Value of inTraining: {s.inTraining}")
def instance(): channels = { 'dev': '#test-dev-channel', 'infra': '#infra-support-channel', } slackbot = SlackBot(mock.Mock, 'slack-token', channels) return slackbot
class SlackBotTestCase(unittest.TestCase): """ Tests for slackbot runner. """ def setUp(self): self.bot = SlackBot() def test_is_canteen_day(self): saturday = date(2000, 1, 1) sunday = date(2000, 1, 2) monday = date(2000, 1, 3) tuesday = date(2000, 1, 4) wednesday = date(2000, 1, 5) thursday = date(2000, 1, 6) friday = date(2000, 1, 7) self.assertFalse(self.bot.is_canteen_day(saturday), "No canteen on saturdays") self.assertFalse(self.bot.is_canteen_day(sunday), "No canteen on sundays") self.assertTrue(self.bot.is_canteen_day(monday), "Canteen on mondays") self.assertTrue(self.bot.is_canteen_day(tuesday), "Canteen on tuesdays") self.assertTrue(self.bot.is_canteen_day(wednesday), "Canteen on wednesdays") self.assertTrue(self.bot.is_canteen_day(thursday), "Canteen on thursdays") self.assertTrue(self.bot.is_canteen_day(friday), "Canteen on fridays") def test_make_message(self): text, attachments = self.bot.make_message(Menu()) self.assertIsNone(attachments, "Empty meals should have no attachments") text, attachments = self.bot.make_message(Menu(plats=[mock_meal])) self.assertIsNotNone(attachments, "Meals should have some attachments") def test_format_meal(self): (fr, en, q) = mock_meal field = self.bot.format_dish(fr, en, q) self.assertTrue(fr in str(field), "The text should contain the french dish") self.assertTrue(en in str(field), "The text should contain the english dish") if q is not None: self.assertTrue(str(q) in str(field), "The text should contain the quantity") def test_spellcheck_when_translation(self): query = "Focacia d'aubergine,légumes grillés et mayonnaise aubergines" actual = did_you_mean(query) self.assertFalse("Showing translation for" in actual) self.assertFalse("Translate instead" in actual) print(actual)
def daily(): rost = Roster("password.json", "EAST") rost.setEmployees() rost.setOutOfQueue() s = SlackBot() print("From cron.py") print(s.inTraining) if s.inTraining: for engineer in s.inTraining: s.setStatus(engineer) s.msgOutOfQueue() s.msgAllStaff()
def daily(): rost = Roster("password.json", "EAST") rost.setEmployees() rost.setOutOfQueue() s = SlackBot() print("From cron.py") #debugging print(s.inTraining) #iterate through list of CEs that are out of queue if s.inTraining: for engineer in s.inTraining: s.setStatus(engineer) #send message to staff channels with current out of queue people s.msgOutOfQueue() s.msgAllStaff()
def main(): #バッチサイズ batch_size = 50 #学習回数 epoch = 30 #過去何回分のデータを用いて次の回の当選番号を予想するか vertical_len = 3 #slackに通知を飛ばすかどうか useSlack = False #既に学習させたモデルを使用するかどうか is_load_other_model = False #誤差の遷移図の名前 loss_picture_name = "loss.png" #精度の遷移図の名前 accuracy_picture_name = "acc.png" #保存するモデルの名前 cnn_model_name = "model.npz" #既に学習させたモデルを用いる場合のモデルのパス use_cnn_model_name = "model.npz" observer = CNN_observer(vertical_len) updater = CNN_updater() updater.initialize(is_load_other_model, use_cnn_model_name) # dotenv用の初期設定 + slackAPIの初期設定 dotenv_path = os.path.join(os.path.dirname(__file__), '.env') load_dotenv(dotenv_path) token = os.environ.get("API_KEY") slack = SlackBot(token) trainer = Trainer(batch_size, epoch, slack, observer, updater, useSlack, loss_picture_name, accuracy_picture_name, cnn_model_name) trainer.learn()
from slackbot import SlackBot import sys state_path = None if len(sys.argv) > 1: state_path = sys.argv[1] bot = SlackBot(state_path)
client_secret = os.environ["SLACK_CLIENT_SECRET"] oauth_scope = os.environ["SLACK_SCOPE"] CONNECT_STRING = os.environ["CONNECT_STRING"] app = Flask(__name__) client = MongoClient(f'{CONNECT_STRING}') db = client.queue employees = db.employees ZOOM_MONGO = os.environ["ZOOM_MONGO"] zoomDBClient = MongoClient(ZOOM_MONGO) zdb = zoomDBClient.zoom zoomUsers = zdb.users s = SlackBot() COMMANDS = {"list", "listall", "run", "runall", "refresh", "test", "zoom"} PRIVILIGED_COMMANDS = {"listall", "runall"} PRIVILIGED_USERS = {"UF57DA49F", "U054G9J88", "U26R8ML07"} @app.errorhandler(404) def page_not_found(e): return "Command not found" @app.route("/", methods=["GET"]) def pre_install():
def main(): """main""" # parse arguments args = parse_args() if args is None: exit() # Slack Bot if args.slack: config = configparser.ConfigParser() config.read('slack.config') bot = SlackBot(token=config['SLACK']['token'], channel_name=config['SLACK']['channel_name']) else: bot = None gpu_options = tf.GPUOptions(visible_device_list=args.gpu_id, allow_growth=True) session_conf = tf.ConfigProto(intra_op_parallelism_threads=1, inter_op_parallelism_threads=1, gpu_options=gpu_options, allow_soft_placement=True) # open session models = [DCGAN, WGAN_GP, BEGAN, EBGAN] with tf.Session(config=session_conf) as sess: # declare instance for GAN gan = None for model in models: if args.gan_type == model.model_name: gan = model(sess, epoch=args.epoch, batch_size=args.batch_size, z_dim=args.z_dim, dataset_name=args.dataset, compute_metrics_it=args.compute_metrics_it, checkpoint_dir=args.checkpoint_dir, result_dir=args.result_dir, log_dir=args.log_dir, gpu_id=args.gpu_id, bot=bot, redo=args.redo, verbosity=args.verbosity) if gan is None: print("<!channel> ERROR!\n\n" "[!] There is no option for " + args.gan_type) raise Exception("[!] There is no option for " + args.gan_type) # build graph gan.build_model() # show network architecture show_all_variables() # launch the graph in a session gan.train() print("[*] Training finished!") # visualize learned generator gan.visualize_results(args.epoch - 1) print("[*] Testing finished!")
from slackbot import SlackBot from config import LOG_FILE import logging logging.basicConfig(filename=LOG_FILE) slackbot = SlackBot() slackbot.read_messages_while()
import os import json from slackbot import SlackBot from roster import Roster rost = Roster("password.json", "EAST") rost.setEmployees() rost.setOutOfQueue() s = SlackBot() print("From cron.py") print(s.inTraining) if s.inTraining: for engineer in s.inTraining: s.setStatus(engineer) s.msgOutOfQueue() s.msgAllStaff()
bot.init() while True: for bot in bots: # print 'processing', bot bot.process() relay_ins = bot.collect_relay() for xbot in bots: if type(bot) == type(xbot): continue xbot.relay(bot, relay_ins) time.sleep(.2) except KeyboardInterrupt: sys.exit(0) except: logging.exception('OOPS') if __name__ == "__main__": config = load_config('config') slackbot = SlackBot(config['slack']['token'], config) ircbot = IrcBot(config['irc']['host'], int(config['irc'].get('port', '6667')), config) if "DAEMON" in config: if config["DAEMON"]: import daemon with daemon.DaemonContext(): main_loop((slackbot, ircbot), config) main_loop((slackbot, ircbot), config)
#!/usr/bin/env python # coding: utf-8 from slackbot import SlackBot from slackbot.web import SlackHandler import mybot_config bot = SlackBot(mybot_config) @bot.on_event('hello') def hello(msg): return msg.reply("I'm online!", channel='slack-test') @bot.on_event('message') def repeat(msg): return msg.reply('You just said: %s' % msg.raw['text']) @bot.route('/send') class SendHandler(SlackHandler): def get(self): text = self.get_argument('text') channel = self.get_argument('channel') channel_id = bot.channels.get(name=channel)['id'] bot.client.send_message(channel_id, text)
import sys import yaml from argparse import ArgumentParser from slackbot import SlackBot if __name__ == '__main__': # XXX: read config from passed argument parser = ArgumentParser() parser.add_argument('-c', '--config', help='path of config file', metavar='path', default='config.yaml') args = parser.parse_args() if not args.config: parser.print_help() sys.exit(0) try: with open(args.config) as f: config = yaml.load(f) except IOError: print 'No such file or broken file.' sys.exit(0) except yaml.YAMLError: print 'Error in config file.' sys.exit(0) bot = SlackBot(config) bot.start()
def setUp(self): self.bot = SlackBot()
import sys import yaml from argparse import ArgumentParser from slackbot import SlackBot if __name__ == "__main__": # XXX: read config from passed argument parser = ArgumentParser() parser.add_argument("-c", "--config", help="path of config file", metavar="path", default="config.yaml") args = parser.parse_args() if not args.config: parser.print_help() sys.exit(0) try: with open(args.config) as f: config = yaml.load(f) except IOError: print "No such file or broken file." sys.exit(0) except yaml.YAMLError: print "Error in config file." sys.exit(0) bot = SlackBot(config) bot.start()
phabricatorUrl = os.getenv("PHABRICATOR_URL", "https://reviews.bitcoinabc.org/api/") slack_token = os.getenv('SLACK_BOT_TOKEN', None) tc = TeamCity('https://build.bitcoinabc.org', tc_user, tc_pass) phab = PhabWrapper(host=phabricatorUrl, token=conduit_token) phab.update_interfaces() slack_channels = { # #dev 'dev': 'C62NSDC6N', # #abcbot-testing 'test': 'CQMSVCY66', # #infra-support 'infra': 'G016CFAV8KS', } slackbot = SlackBot(slack.WebClient, slack_token, slack_channels) cirrus = Cirrus() def main(args): parser = argparse.ArgumentParser( description='Continuous integration build bot service.') parser.add_argument('-p', '--port', help='port for server to start', type=int, default=8080) parser.add_argument('-l', '--log-file', help='log file to dump requests payload', type=str,
# Get temporary random number generator based on todays date myrandom = random.Random(int(time.strftime("%Y%m%d"))) myrandom.shuffle(members) return members def _parse_args(): parser = ArgumentParser() parser.add_argument('-c', '--config', help='Full path to config file.', metavar='path', required=True) return parser.parse_args() if __name__ == '__main__': args = _parse_args() config = yaml.load(file(args.config, 'r')) if config.get('serious_business_mode'): response = answers else: response = pikachu bot_function = partial(response, wolfram_appid=config.get('wolfram_alpha_appid'), bingid=config.get('bingid')) SlackBot(config['slack_token'], bot_function, only_speaking_to_me=False).start()
def mockSlackBot(): channels = { 'test': '#test-channel', } slackbot = SlackBot(mock.Mock, 'slack-token', channels) return slackbot
return bot.register('hi', hi) bot.register('help', help) bot.register('stats', getStats) bot.register('fortune', getFortune) bot.register('seen <@([^>]+)>', seen) bot.run() def parseSettings(): filename = expanduser("~/.crashbot") config = ConfigParser.ConfigParser() config.read(filename) settings = dict(config.items('CrashBot')) return settings if __name__ == '__main__': settings = parseSettings() if 'token' not in settings: print "No token in the settings file" sys.exit(1) bot = SlackBot(settings['token']) while True: try: main(bot) except KeyboardInterrupt: break except: traceback.print_exc() bot.saveState() time.sleep(5)