Description Usage Arguments Value Examples
Execute functions in R from your phone. This will require an open R session connected to your phone. Using this function, you can specify the functions that R will execute on your demand.
1 2 3 4 5 6 7 8 9 10 11 |
Bot_Name |
Name of the bot to do the sending. |
Info_Loc |
Where the RDS file with your needed bot info is saved. Defaults to path.expand("~") |
Token |
Token of your bot if not using the saved file call from Rbot::Add_Bot() |
Function_List |
Function_List containing for each function: The function to be called, the call handle, as well as the message sent to Telegram. Up to 20 functions can be added. |
LoadMessage |
What to display on your phone when this call is initialised |
KillR |
Add option to kill R from your phone. Default to TRUE |
PokePC |
Ping the PC and check that your connection is still active. No side-effects, simple poke message returned. |
RestartCPU |
Force restarts the PC - no questions asked. Defaults to FALSE. |
KillCPU |
Add option to turn off your computer completely, no questions asked. Default to FALSE. Useful if working e.g. on a public CPU that you want to log out from remotely. |
Switches R on to listen for Bot
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | ## Not run:
# Provide a Function_List with the the following inputs per function:
# Function_List$Foo1, Function_List$Foo2, ... : can provide up to 30 functions
# Function_List$Call : What to type in Telegram. Used as /Call in Telegram
# Function_List$Args : TRUE / FALSE; whether to be able to include an argument. If excluded, it defaults to FALSE.
# Function_List$Message : How to describe this function in Telegram.
# Example below:
Function_List <- list()
Bot_Name <- "A"
First_Foo <- function(X){
Inputs <- eval(parse(text = X))
Msg_Foo <- function(Arg1, Arg2, Arg3, TFalse) {
if(TFalse == TRUE) {
Print_Msg <- message(paste(Arg1, Arg2, Arg3, sep = "\n"))
} else {
Print_Msg <- "Selected FALSE"
}
}
Print_Msg <- do.call("Msg_Foo", as.list( eval(parse( text = X))) )
print(Print_Msg)
}
Function_List$Foo1 <-
list(Function = First_Foo,
# How to call your function from Telegram
Call = "F1",
Args = TRUE,
# Describe Function in Telegram
Message = "Type four arguments as:\nc(Arg1 = 'First Argument', Arg2 = 'Second Argument', Arg3 = 'Third and Last', TFalse = 'FALSE')\nPlan the function you source to fit this convention."
)
Second_Foo <- function(X){
Answer <- sqrt(as.numeric(X))
Rbot::Text_Bot(Msg = glue::glue("Answer from Function : {Answer}"), Bot_Name = Bot_Name)
message(glue::glue("R Msg: ....Function 2 executed....\nAnswer = {Answer}"))
}
Function_List$Foo2 <-
list(Function = Second_Foo,
Call = "F2",
Args = TRUE,
# Describe Function in Telegram
Message = "Calculate square root of provided number.")
Error_Foo <- function(){
x <- 0
if( is.infinite(10/x)) stop("Example of error being thrown, but not breaking connection...")
}
Function_List$Foo3 <-
list(Function = Error_Foo,
Call = "Error_Example",
Args = TRUE,
Message = "\nError function illustrated: \nThis illustrates that the connection with the phone will be preserved using purrr::safely")
Foo_Bot(Bot_Name = Bot_Name, Function_List = Function_List, LoadMessage = "My connection with R",
KillR = TRUE, KillCPU = FALSE)
# Alternatively, no Function_List (implying only ability to switch off computer or killR, e.g.):
# Foo_Bot(Bot_Name = Bot_Name, Function_List = NULL, LoadMessage = "My connection with R",
# KillR = TRUE, KillCPU = FALSE)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.