コード例 #1
0
ファイル: inventory_commands.py プロジェクト: vilhelm/hypebot
 def _Handle(self, channel, user, item_name):
     inventory = self._core.inventory.GetUserInventory(user)
     for key, params in inventory.items():
         item = inventory_lib.Create(key, self._core, user, params)
         if item_name.lower() == item.human_name.lower():
             msg, should_delete = item.Use()
             if should_delete:
                 self._core.inventory.RemoveItem(user, item)
             return msg
     return 'You try to use your %s, but it was just a dream.' % item_name
コード例 #2
0
 def _Handle(self, channel: channel_pb2.Channel, user: user_pb2.User,
             target_user: user_pb2.User) -> hype_types.CommandResponse:
     inventory = self._core.inventory.GetUserInventory(target_user)
     if not inventory:
         return ('%s\'s backpack has a hole in the bottom' %
                 target_user.display_name)
     msgs = ['%s\'s inventory:' % target_user.display_name]
     for key, params in inventory.items():
         item = inventory_lib.Create(key, self._core, target_user, params)
         msgs.append('%s%s' % (item.human_name, FormatStacks(params)))
     # TODO: Worry about putting multiple items on a single line if
     # inventories become large.
     return msgs
コード例 #3
0
ファイル: inventory_commands.py プロジェクト: vilhelm/hypebot
 def _Handle(self, channel, user, inventory_user):
     inventory_user = inventory_user or user
     if inventory_user == 'me':
         self._core.last_command = partial(self._Handle,
                                           inventory_user=inventory_user)
         inventory_user = user
     inventory = self._core.inventory.GetUserInventory(inventory_user)
     if not inventory:
         return '%s\'s backpack has a hole in the bottom' % inventory_user
     msgs = ['%s\'s inventory:' % inventory_user]
     for key, params in inventory.items():
         item = inventory_lib.Create(key, self._core, inventory_user,
                                     params)
         msgs.append('%s%s' % (item.human_name, FormatStacks(params)))
     # TODO(someone): Worry about putting multiple items on a single line if
     # inventories become large.
     return msgs
コード例 #4
0
 def __init__(self, bookie):
     self._bookie = bookie
     self._winning_item = inventory_lib.Create('CoinPurse', None, None, {})
コード例 #5
0
ファイル: public_commands.py プロジェクト: jellzilla/hypebot
 def _Handle(self, channel: channel_pb2.Channel, user: user_pb2.User,
             message: Text) -> hype_types.CommandResponse:
     if random.random() < self._params.find_chance:
         item = inventory_lib.Create('HypeEgg', self._core, user, {})
         self._core.inventory.AddItem(user, item)
         return '%s found a(n) %s' % (user, item.human_name)