我在slack中有一个斜杠命令,调用一个zapier webhook.
我设置的示例命令是:
/ todo [标题] [用户]
在Zapier中,在传入的webhook中有一个名为text的属性,它将[Title] [User]映射为字符串值.问题是我希望能够访问单个变量而不仅仅是表示整个命令的文本字符串.
Slack中是否有一种方法可以拆分变量,以便我可以将[Title]映射到POST命令中的Title表单属性,同样将[User]映射到User属性?
如果没有,是否可以在Zapier中进行字符串解析/字符串索引?
我想知道 slack 机器人是否可以从私人频道中提取带有特定字符串标记的消息,然后将该“标记”消息发布到另一个频道(私人或公共)中。都在同一个松弛组内。
我正在为游戏社区管理一个Slack团队。我的用户都在游戏中具有化身,并且我已经在使用Slack API来自动将其Slack用户名设置为游戏中的名称,因此更容易被人们识别。
另外,我还想通过游戏中的头像来自动在Slack中设置他们的头像。但是我不知道该怎么做,所以我的问题是可以做到吗?如果可以,怎么办?
我当前的出发点是未公开的API方法users.profile.set,它允许我设置用户的个人资料(请参阅下面的用户个人资料示例)。到目前为止,我已经可以修改:
用户个人资料还包含个人资料图片的URL,但到目前为止我还无法更改它。我尝试了外部网址,以及已经在Slack上上传的图片的网址。
这是指向我的“未记录的” Slack API方法的文档的链接,users.profile.set其中包含到目前为止我能弄清的所有选项。
任何帮助将不胜感激。
2017年11月更新
同时,Slack添加了一种新的API方法,users.setPhoto用于设置个人资料照片。但是,此新方法不能解决此问题,因为它仅适用于您自己的用户(或更确切地说,您具有访问令牌的用户,例如,您未指定其他用户user ID)。
我正在寻找一种通过Slack应用程序/机器人更改Slack团队中所有用户的个人资料图片的方法。
用户个人资料示例:
{
id: "U12345678",
team_id: "T12345678",
name: "erik.kalkoken",
deleted: false,
status: null,
color: "9f69e7",
real_name: "Erik Kalkoken",
tz: "America/Chicago",
tz_label: "Central Daylight Time",
tz_offset: 3600,
profile: {
avatar_hash: "XXX",
first_name: "Erik",
last_name: "Kalkoken",
title: "",
phone: "",
skype: "",
image_24: "https://avatars.slack-edge.com/2016-03-19/XXX_24.jpg",
image_32: "https://avatars.slack-edge.com/2016-03-19/XXX_32.jpg",
image_48: "https://avatars.slack-edge.com/2016-03-19/XXX_48.jpg",
image_72: "https://avatars.slack-edge.com/2016-03-19/XXX_72.jpg",
image_192: "https://avatars.slack-edge.com/2016-03-19/XXX_192.jpg",
image_512: …Run Code Online (Sandbox Code Playgroud) 我想在我的网站上放置一个“共享时差”按钮。类似于我们在“在Facebook上共享”和“在Twitter上共享”的按钮。用户可以单击它,然后可以在Slack上发布一些文本和我们建议的链接。
我已经能够找到可以在Facebook和Twitter上使用的URL,但是我无法为Slack追踪到一个URL?是否存在?我看到AddThis能够实现一个按钮,但是我不确定他们的操作方式。
我对此尝试了多种方法。首先尝试获取没有任何用户 ID 的用户 - 这仅返回我的用户,然后尝试获取具有其他 id 的用户,它也可以正确检索数据。但是,我似乎无法将用户属性设置为“已删除”。我正在使用这种Python方法。
slack_client.api_call('users.profile.set', deleted=True, user='U36D86MNK')
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误消息:
{u'error': u'invalid_user', u'ok': False}
Run Code Online (Sandbox Code Playgroud)
也许有人已经这样做了?它在文档中说这是一项付费服务,在用户属性下提到了此消息:
此参数只能由付费团队的团队管理员指定。
但在这种情况下,它不应该给我一个“付费服务”响应吗?
有没有办法使用 OAuth2 通过 Slack 验证 java 桌面应用程序?我正在尝试遵循Slack 的指南。
我陷入困境,因为它说您在应用程序的重定向 uri 内获取访问令牌。但由于我正在制作的应用程序不存在于网络浏览器中,我是否可以做到这一点?
我的 java 应用程序可以启动一个可以与其通信以用作重定向 uri 的本地主机站点吗?如果是这样,怎么办?
我在 Slack 工作区中创建了一个传入 Webhook。我使用第三方工具将 JSON 对象发布到挂钩 url。我想向@user_1发送通知
我的问题是,通知发送到我和该用户 @user_1 之间的私人通道,而不是直接发送到 @user_1,比如通过 Slackbot 或只有该用户的通道。
如何确保通知是从 Slackbot 或 @user_1 发送的,而不是我自己发送的?
我的设置方式是通过传入 Webhook 创建一个新应用程序。对于通道,我选择 @user_1,并使用第三方提供的 url 发送 slack 通知。
使用 Slacks Bolt 框架执行以下操作时:
app.client.conversations.history({
token: token,
channel: channelId,
latest: messageId,
count: 1
})
Run Code Online (Sandbox Code Playgroud)
我越来越Error: An API error occurred: missing_scope。
我正在传递一个 Bot 令牌(文档表明支持https://api.slack.com/methods/conversations.history),并且已经将channels.history和channels.read范围添加到我的 oAuth 和权限范围中,所以我有点糟糕。
以前有人遇到过这个吗?
我尝试让 slackbot 通过回复消息中的某些关键词来提供技术支持。然而,它的响应使其所在的频道变得混乱。因此,我希望我的 Slackbot 在原始消息下的线程中进行回复,就像我自己回答问题时所做的那样。
从 Slack 文档中,我知道应该可以回复线程中的消息。我应该以某种方式使用thread_ts,但我无法让它工作。
var POST_MESSAGE_ENDPOINT = 'https://slack.com/api/chat.postMessage';
var TEXTS = [
'Hi there! Maybe I can help you?',
];
//Reply to within a thread:
//data '{"channel":"CHANNEL-ID", "text":"curl", "thread_ts":"THREAD-TS"}'
function doPost(e){
var event = JSON.parse(e.postData.contents).event;
if(event.hasOwnProperty('bot_id')){
return;
}else if(event.text.match(/(log.?in)|(inlog)|(logging?)/)){
postLogin(event, ['login']);
}else if(event.text.match(/(syncing)|(sync)|(sync$$)/)){
postSyncing(event, ['syncing']);
}else if(event.text.match(/(issues?)|(problem)/)){
postIssueOptions(event, ['issue']);
}
}
function postLogin(event, keywords){
var url1 = "<https://docs.google.com/document/d/1rcaGjyAMFpo9tG9YAgTpTFlxPZq5luwBlM3gMVCL9eI/edit|Runner can not login after changing password>";
var url2 = "<https://docs.google.com/document/d/1rcaGjyAMFpo9tG9YAgTpTFlxPZq5luwBlM3gMVCL9eI/edit|Runner forgot password>";
var url3 = "<https://docs.google.com/document/d/1rcaGjyAMFpo9tG9YAgTpTFlxPZq5luwBlM3gMVCL9eI/edit|Other …Run Code Online (Sandbox Code Playgroud) 这是我设置主题频道的代码, {"ok":false,"error":"channel_not_found"}
当频道存在时我会收到并且我尝试使用channelId而不是使用#channelName。但没有区别。并且权限设置正确。
function setTopic1() {
var topic = 'testing'
var url = 'https://xxxx.slack.com/api/conversations.setTopic'
var payload = {
'channel': '#temp-w',
'token': token,
'topic': topic,
};
var options = {
'method': 'post',
'payload': payload,
};
if (topic.length > 250) {
Logger.log("Topic is too long, API request might fail")
}
var response = UrlFetchApp.fetch(url,options);
Logger.log(response)
}`
Run Code Online (Sandbox Code Playgroud) slack-api ×10
slack ×7
javascript ×4
zapier ×2
automation ×1
bots ×1
htmlbutton ×1
java ×1
oauth-2.0 ×1
python ×1
webhooks ×1