本文整理汇总了TypeScript中hubot.Robot.on方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Robot.on方法的具体用法?TypeScript Robot.on怎么用?TypeScript Robot.on使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类hubot.Robot
的用法示例。
在下文中一共展示了Robot.on方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: stats
export = (robot: Robot) => {
robot.respond(/sniperino stats( me)?/i, res => {
const { stats } = loadState(robot.brain);
const message = Object.values(stats)
.filter(<T>(x?: T): x is T => x !== undefined)
.map(stat => ({ ...stat, winRate: calculateWinRate(stat) }))
.sort((a, b) => b.winRate - a.winRate)
.map(({ userId, winRate }) => `${robot.brain.userForId(userId).name}: ${winRate}%`)
.join('\n');
res.send(message);
});
robot.respond(/sniperino( me)?$/i, res => {
const state = loadState(robot.brain);
const { name, id } = res.message.user;
if (state.games[id] !== undefined) {
res.send(stringFns[GameEvent.Dupe]({ name }));
return;
}
const snipe = Math.floor(Math.random() * 99) + 1;
state.games[id] = snipe;
res.send(stringFns[GameEvent.New]({ name, snipe }));
});
robot.on('roll', (res: Response, roll: number, max: number) => {
// If someone rolled out of something other than 100, they are
// either not playing sniperino or trying to cheat.
if (max !== 100) {
return;
}
// If there are no active games then this was just an ordinary roll
const state = loadState(robot.brain);
const { name, id } = res.message.user;
const snipe = state.games[id];
if (snipe === undefined) {
return;
}
const {
gamesPlayed = 0,
gamesWon = 0
} = state.stats[id] || {};
// Play game
const event = playGame(roll, snipe);
state.stats[id] = {
gamesPlayed: (event !== GameEvent.Draw ? gamesPlayed + 1 : gamesPlayed),
gamesWon: (event === GameEvent.Win ? gamesWon + 1 : gamesWon),
userId: id,
};
res.send(stringFns[event]({ name, roll }));
delete state.games[id];
});
};
示例2:
import * as Hubot from "hubot";
const robot = new Hubot.Robot<{}>(
'src/adapters',
'slack',
false,
'hubot',
);
robot; // $ExpectType Robot<{}>
robot.adapter; // $ExpectType {}
robot.hear(/hello/, () => null); // $ExpectType void
robot.on('test', () => null); // $ExpectType Robot<{}>
robot.emit('test', 'arg'); // $ExpectType boolean
const brain = new Hubot.Brain(robot);
brain; // $ExpectType Brain<{}>
brain.userForName('someone'); // $ExpectType User
brain.get('test'); // $ExpectType any
brain.set('test', 'test'); // $ExpectType Brain<{}>