Shared and per-user bot group messaging method
Methods, apparatuses, and computing systems are provided for bot messaging. In an implementation, a method may include one or more of receiving, by a group messaging service coupled to the internet and a group including one or more user nodes, a message including a message address and a first group identifier, determining that the group includes a bot, the bot including a software application for performing one or more tasks over the internet. The method also includes determining whether the bot is a user bot responsive to one user node in the group or a group bot responsive to each of the one or more user nodes. In response to determining the bot is a group bot, the method also includes identifying that the message address corresponds to the group bot and sending, by the group messaging service, the message to the group bot.
1. A method comprising: receiving, by a group messaging service coupled to the internet and a group comprising one or more user nodes, a message comprising a bot identifier and a first group identifier; determining, by the group messaging service, whether the group comprises a bot based on accessing a first group data structure corresponding to the first group identifier, the first group data structure identifying which user nodes and bots are members of the group, the bot comprising a software application for performing one or more tasks over the internet; determining, at the group messaging service based on accessing a bot data structure incorporated into the first group data structure, whether the bot is a group bot responsive to each of the one or more user nodes; in response to determining the bot is a group bot: identifying that the bot identifier corresponds to the group bot; and sending, by the group messaging service, the message to the group bot.
2. The method of claim 1 , wherein prior to receiving the message, the method further comprising:
receiving, by the group messaging service, a request to add the bot to the group, the request comprising an indication if the bot is a user bot or a group bot;
verifying the bot is available over the internet;
configuring the bot into the group; and
providing a notification that the bot is configured into the group.
3. The method of claim 1 , the method further comprising:
sending the message to the one or more user nodes, in response to one of:
determining the group comprises no bots; and
determining the group comprises one or more bots and the bot identifier does not correspond to the one or more bots.
4. The method of claim 1 , further comprising:
determining the bot is a user bot responsive to fewer than all user nodes in the group based on identifying that the bot identifier corresponds to the user bot; and
sending, by the group messaging service, the message to the user bot.
5. The method of claim 1 , wherein the message comprises recorded audio, wherein the first group identifier uniquely identifies a group that a user node that transmits the message to the group messaging service belongs to.
6. The method of claim 5 , wherein the group messaging service comprises a plurality of data structures for a plurality of groups, the plurality of data structures each comprising a unique group identifier.
7. The method of claim 6 , wherein determining that the group comprises a bot comprising:
selecting the first group data structure from the plurality of data structures, the first group data structure having a corresponding unique group identifier matching the first group identifier;
reviewing the first group data structure for at least one bot data structure, each comprising a unique bot identifier and a bot designation; and
determining the first group data structure comprises at least one bot data structure.
8. The method of claim 7 , wherein determining whether the bot is a user bot or a group bot comprises:
reviewing the at least one bot data structure for the bot data structure comprising a unique bot identifier corresponding to the bot identifier from the message;
determining the bot data structure corresponds to a user bot if the bot designation for the bot data structure is a user node identifier; and
determining the bot data structure corresponds to a group bot if the bot designation for the bot data structure is a group identifier.
9. The method of claim 7 , wherein identifying that the bot identifier corresponds to the user bot or the group bot comprises:
identifying the bot data structure in the first group data structure comprising a unique bot identifier corresponding to the bot identifier from the message.
10. The method of claim 7 , wherein at least one other data structure of the plurality of data structures does not include the bot data structure.
11. A non-transitory computer readable storage medium configured to store computer instructions that, when executed, cause a processor to perform: receiving, by a group messaging service comprising the processor and coupled to the internet and a group comprising one or more user nodes, a message comprising a bot identifier and a first group identifier; determining that the group comprises a bot based on accessing a first group data structure corresponding to the first group identifier, the first group data structure identifying which user nodes and bots are members of the group, the bot comprising a software application for performing one or more tasks over the internet; determining, based on accessing a bot data structure incorporated into the first group data structure, whether the bot is a group bot responsive to each of the one or more user nodes; in response to determining the bot is a group bot: identifying that the bot identifier corresponds to the group bot; and sending, by the group messaging service, the message to the group bot.
12. The non-transitory computer readable storage medium of claim 11 , wherein in response to sending the message to the group bot, sending, by the group messaging service, the message to the one or more user nodes.
13. The non-transitory computer readable storage medium of claim 11 , determining the bot is a user bot responsive to fewer than all user nodes in the group based on identifying that the bot identifier corresponds to the user bot; and sending, by the group messaging service, the message to the user bot.
14. The non-transitory computer readable storage medium of claim 11 , wherein the group messaging service comprises a plurality of data structures for a plurality of groups, the plurality of data structures each comprising a unique group identifier.
15. The non-transitory computer readable storage medium of claim 14 , wherein determining that the group comprises a bot comprises:
selecting the first group data structure from the plurality of data structures, the first group data structure having a corresponding unique group identifier matching the first group identifier;
reviewing the first group data structure for at least one bot data structure, each comprising a unique bot identifier and a bot designation; and
determining the first group data structure comprises at least one bot data structure.
16. The non-transitory computer readable storage medium of claim 15 , wherein identifying that the bot identifier corresponds to the user bot or the group bot comprising:
identifying the bot data structure in the first group data structure comprising a unique bot identifier corresponding to the bot identifier.
17. A computing system, comprising: a processing system configured to execute a group messaging service coupled to the internet and a group comprising one or more user nodes; and a storage system comprising program instructions that, when executed, cause the processing system to: receive a message comprising a bot identifier and a first group identifier; determine that the group comprises a bot based on accessing a first group data structure corresponding to the first group identifier, the first group data structure identifying which user nodes and bots are members of the group, the bot comprising a software application for performing one or more tasks over the internet; determine, based on accessing a bot data structure incorporated into the first group data structure, whether the bot is a group bot responsive to each of the one or more user nodes; in response determining that the bot is a group bot: identify that the bot identifier corresponds to the group bot; and send, by the group messaging service, the message to the group bot.
18. The computing system of claim 17 , the processing system determining that the bot is a user bot responsive to fewer than all user nodes in the group based on, the processing system is configured to: identify that the bot identifier corresponds to the user bot; and send the message to the user bot.
19. The computing system of claim 17 , wherein:
the group messaging service comprises a plurality of data structures for a plurality of groups, the plurality of data structures each comprising a unique group identifier; and
the processing system determining that the group comprises a bot includes the processing system configured to:
select the first group data structure from the plurality of data structures, the first group data structure having a corresponding unique group identifier matching the first group identifier;
review the first group data structure for at least one bot data structure, each comprising a unique bot identifier and a bot designation; and
determine the first group data structure comprises at least one bot data structure.
20. The computing system of claim 17 , wherein the processing system determining whether the bot is a user bot or a group bot comprises the processing system configured to:
review the at least one bot data structure for the bot data structure comprising a unique bot identifier corresponding to the bot identifier;
determine the bot data structure corresponds to a user bot if the bot designation for the bot data structure is a user node identifier; and
determine the bot data structure corresponds to a group bot if the bot designation for the bot data structure is a group identifier.