ms_chat {Microsoft365R}R Documentation

Teams chat

Description

Class representing a one-on-one, group or meeting chat in Microsoft Teams.

Format

An R6 object of class ms_chat, inheriting from ms_object.

Fields

Methods

Initialization

Creating new objects of this class should be done via the get_chat and list_chats methods of the ms_team class. Calling the new() method for this class only constructs the R object; it does not call the Microsoft Graph API to retrieve or create the actual chat.

Messaging

To send a message to a chat, use the send_message() method. This has arguments:

Message attachments are uploaded to your OneDrive for Business, in the folder "Microsoft Teams Chat Files". This is the same method as used by the regular Teams app. Unlike the Teams app, no localisation is performed, so the folder is always the same regardless of your language settings. As with channels, support for attachments is still somewhat experimental so please report any bugs found.

List methods

All ⁠list_*⁠ methods have filter and n arguments to limit the number of results. The former should be an OData expression as a string to filter the result set on. The latter should be a number setting the maximum number of (filtered) results to return. The default values are filter=NULL and n=Inf. If n=NULL, the ms_graph_pager iterator object is returned instead to allow manual iteration over the results.

Support in the underlying Graph API for OData queries is patchy. Not all endpoints that return lists of objects support filtering, and if they do, they may not allow all of the defined operators. If your filtering expression results in an error, you can carry out the operation without filtering and then filter the results on the client side.

See Also

ms_team, ms_drive, ms_chat, ms_chat_message

Microsoft Graph overview, Microsoft Teams API reference

Examples

## Not run: 

chat <- get_chat("chat-id")

# a multi-line message with an attachment
msg_text <- c(
    "message line 1",
    "message line 2",
    "message line 3"
)
chat$send_message(msg_text, attachments="myfile.csv")

# sending an inline image
chat$send_message("", content_type="html", inline="graph.png")

# chat members
chat$list_members()
jane <- chat$get_member("Jane Smith")
bill <- chat$get_member(email="billg@mycompany.com")

# mentioning a team member
chat$send_message("Here is a message", content_type="html", mentions=jane)

# mentioning 2 or more members: use a list
chat$send_message("Here is another message", content_type="html",
    mentions=list(jane, bill))


## End(Not run)

[Package Microsoft365R version 2.4.0 Index]