C# Class SteamBot.UserHandler

The abstract base class for users of SteamBot that will allow a user to extend the functionality of the Bot.
Mostrar archivo Open project: Jessecar96/SteamBot Class Usage Examples

Public Methods

Method Description
GetOtherInventory ( ) : void

Gets the other's inventory and stores it in OtherInventory.

OnBotCommand ( string command ) : void

Called when an 'exec' command is given via botmanager.

OnChatRoomMessage ( SteamID chatID, SteamID sender, string message ) : void

Called when a chat message is sent in a chatroom

OnFriendAdd ( ) : bool

Called when the user adds the bot as a friend.

OnFriendRemove ( ) : void

Called when the user removes the bot as a friend.

OnGroupAdd ( ) : bool

Called when the bot is invited to a Steam group

OnLoginCompleted ( ) : void

Called when the bot is fully logged in.

OnMessage ( string message, EChatEntryType type ) : void

Called whenever a message is sent to the bot. This is limited to regular and emote messages.

OnMessageHandler ( string message, EChatEntryType type ) : void
OnStatusError ( Trade status ) : void
OnTradeAccept ( ) : void
OnTradeAcceptHandler ( ) : void
OnTradeAddItem ( Schema schemaItem, Inventory inventoryItem ) : void
OnTradeAwaitingConfirmation ( long tradeOfferID ) : void
OnTradeClose ( ) : void
OnTradeError ( string error ) : void
OnTradeInit ( ) : void
OnTradeMessage ( string message ) : void
OnTradeMessageHandler ( string message ) : void
OnTradeOfferUpdated ( TradeOffer offer ) : void

Called when a trade offer is updated, including the first time it is seen. When the bot is restarted, this might get called again for trade offers it's been previously called on. Thus, you can't rely on this method being called only once after an offer is accepted! If you need to rely on that functionality (say for giving users non-Steam currency), you need to keep track of which trades have been paid out yourself

OnTradeReady ( bool ready ) : void
OnTradeReadyHandler ( bool ready ) : void
OnTradeRemoveItem ( Schema schemaItem, Inventory inventoryItem ) : void
OnTradeRequest ( ) : bool

Called whenever a user requests a trade.

OnTradeRequestReply ( bool accepted, string response ) : void

Called when user accepts or denies bot's trade request.

OnTradeTimeout ( ) : void
UserHandler ( Bot bot, SteamID sid ) : System
_OnTradeAwaitingConfirmation ( long tradeOfferID ) : void

Protected Methods

Method Description
GetUserResponse ( string message = null ) : Task

Waits for the user to enter something into regular or trade chat, then returns it (as the result of a task) Usage: The following displays "How many do you want to buy" and stores the user's response: string userResponse = await GetUserResponse("How many do you want to buy?"); Note: calling this method causes the next user-message to NOT call OnMessage() or OnTradeMessage()

SendChatMessage ( int delayMs, string message ) : void

A helper method for sending a chat message to the other user in the chat window (as opposed to the trade window) after a given delay

SendChatMessage ( string message ) : void

A helper method for sending a chat message to the other user in the chat window (as opposed to the trade window)

SendReplyMessage ( int delayMs, string message ) : void

Sends a message to the user in either the chat window or the trade window, depending on which screen the user sent a message from last, after a gven delay. Useful for responding to commands.

SendReplyMessage ( string message ) : void

Sends a message to the user in either the chat window or the trade window, depending on which screen the user sent a message from last. Useful for responding to commands.

SendTradeMessage ( int delayMs, string message ) : void

A helper method for sending a chat message to the other user in the trade window after a given delay. If the trade has ended, nothing this does nothing

SendTradeMessage ( string message ) : void

A helper method for sending a chat message to the other user in the trade window. If the trade has ended, nothing this does nothing

Private Methods

Method Description
HandleWaitingOnUserResponse ( string message ) : bool
SendChatMessageImpl ( string message ) : void
SendMessage ( Action messageFunc, string message, System timer ) : void
SendMessageDelayed ( int delayMs, Action messageFunc, string message ) : void
SendTradeMessageImpl ( string message ) : void

Method Details

GetOtherInventory() public method

Gets the other's inventory and stores it in OtherInventory.
public GetOtherInventory ( ) : void
return void

GetUserResponse() protected method

Waits for the user to enter something into regular or trade chat, then returns it (as the result of a task) Usage: The following displays "How many do you want to buy" and stores the user's response: string userResponse = await GetUserResponse("How many do you want to buy?"); Note: calling this method causes the next user-message to NOT call OnMessage() or OnTradeMessage()
protected GetUserResponse ( string message = null ) : Task
message string An option message to display to the user. /// Sent to whichever chat (normal or trade) is currently being used.
return Task

OnBotCommand() public method

Called when an 'exec' command is given via botmanager.
public OnBotCommand ( string command ) : void
command string The command message.
return void

OnChatRoomMessage() public method

Called when a chat message is sent in a chatroom
public OnChatRoomMessage ( SteamID chatID, SteamID sender, string message ) : void
chatID SteamKit2.SteamID The SteamID of the group chat
sender SteamKit2.SteamID The SteamID of the sender
message string The message sent
return void

OnFriendAdd() public abstract method

Called when the user adds the bot as a friend.
public abstract OnFriendAdd ( ) : bool
return bool

OnFriendRemove() public abstract method

Called when the user removes the bot as a friend.
public abstract OnFriendRemove ( ) : void
return void

OnGroupAdd() public abstract method

Called when the bot is invited to a Steam group
public abstract OnGroupAdd ( ) : bool
return bool

OnLoginCompleted() public abstract method

Called when the bot is fully logged in.
public abstract OnLoginCompleted ( ) : void
return void

OnMessage() public abstract method

Called whenever a message is sent to the bot. This is limited to regular and emote messages.
public abstract OnMessage ( string message, EChatEntryType type ) : void
message string
type EChatEntryType
return void

OnMessageHandler() public method

public OnMessageHandler ( string message, EChatEntryType type ) : void
message string
type EChatEntryType
return void

OnStatusError() public method

public OnStatusError ( Trade status ) : void
status Trade
return void

OnTradeAccept() public abstract method

public abstract OnTradeAccept ( ) : void
return void

OnTradeAcceptHandler() public method

public OnTradeAcceptHandler ( ) : void
return void

OnTradeAddItem() public abstract method

public abstract OnTradeAddItem ( Schema schemaItem, Inventory inventoryItem ) : void
schemaItem Schema
inventoryItem Inventory
return void

OnTradeAwaitingConfirmation() public abstract method

public abstract OnTradeAwaitingConfirmation ( long tradeOfferID ) : void
tradeOfferID long
return void

OnTradeClose() public method

public OnTradeClose ( ) : void
return void

OnTradeError() public abstract method

public abstract OnTradeError ( string error ) : void
error string
return void

OnTradeInit() public abstract method

public abstract OnTradeInit ( ) : void
return void

OnTradeMessage() public abstract method

public abstract OnTradeMessage ( string message ) : void
message string
return void

OnTradeMessageHandler() public method

public OnTradeMessageHandler ( string message ) : void
message string
return void

OnTradeOfferUpdated() public abstract method

Called when a trade offer is updated, including the first time it is seen. When the bot is restarted, this might get called again for trade offers it's been previously called on. Thus, you can't rely on this method being called only once after an offer is accepted! If you need to rely on that functionality (say for giving users non-Steam currency), you need to keep track of which trades have been paid out yourself
public abstract OnTradeOfferUpdated ( TradeOffer offer ) : void
offer TradeOffer
return void

OnTradeReady() public abstract method

public abstract OnTradeReady ( bool ready ) : void
ready bool
return void

OnTradeReadyHandler() public method

public OnTradeReadyHandler ( bool ready ) : void
ready bool
return void

OnTradeRemoveItem() public abstract method

public abstract OnTradeRemoveItem ( Schema schemaItem, Inventory inventoryItem ) : void
schemaItem Schema
inventoryItem Inventory
return void

OnTradeRequest() public abstract method

Called whenever a user requests a trade.
public abstract OnTradeRequest ( ) : bool
return bool

OnTradeRequestReply() public method

Called when user accepts or denies bot's trade request.
public OnTradeRequestReply ( bool accepted, string response ) : void
accepted bool True if user accepted bot's request, false if not.
response string String response of the callback.
return void

OnTradeTimeout() public abstract method

public abstract OnTradeTimeout ( ) : void
return void

SendChatMessage() protected method

A helper method for sending a chat message to the other user in the chat window (as opposed to the trade window) after a given delay
protected SendChatMessage ( int delayMs, string message ) : void
delayMs int The delay, in milliseconds, to wait before sending the message
message string The message to send to the other user
return void

SendChatMessage() protected method

A helper method for sending a chat message to the other user in the chat window (as opposed to the trade window)
protected SendChatMessage ( string message ) : void
message string The message to send to the other user
return void

SendReplyMessage() protected method

Sends a message to the user in either the chat window or the trade window, depending on which screen the user sent a message from last, after a gven delay. Useful for responding to commands.
protected SendReplyMessage ( int delayMs, string message ) : void
delayMs int The delay, in milliseconds, to wait before sending the message
message string The message to send to the other user
return void

SendReplyMessage() protected method

Sends a message to the user in either the chat window or the trade window, depending on which screen the user sent a message from last. Useful for responding to commands.
protected SendReplyMessage ( string message ) : void
message string The message to send to the other user
return void

SendTradeMessage() protected method

A helper method for sending a chat message to the other user in the trade window after a given delay. If the trade has ended, nothing this does nothing
protected SendTradeMessage ( int delayMs, string message ) : void
delayMs int The delay, in milliseconds, to wait before sending the message
message string The message to send to the other user
return void

SendTradeMessage() protected method

A helper method for sending a chat message to the other user in the trade window. If the trade has ended, nothing this does nothing
protected SendTradeMessage ( string message ) : void
message string The message to send to the other user
return void

UserHandler() public method

public UserHandler ( Bot bot, SteamID sid ) : System
bot Bot
sid SteamKit2.SteamID
return System

_OnTradeAwaitingConfirmation() public method

public _OnTradeAwaitingConfirmation ( long tradeOfferID ) : void
tradeOfferID long
return void