看了五天的 API 文件,想必是有点腻了,今天开始来做点实用的东西
首先来到 processMessage()
,来把之前的转换 Markdown 加个条件,只处理 !md
开头讯息
改完来试试看,确实有在运作
https://core.telegram.org/bots/api#message
new_chat_members 是 TG 服务器传过来的 message 中其中一个参数,他会在新成员加入时附在里面,因为有可能一次进来很多个人,所以它是一个阵列,实际收到的讯息长这个样子
要找到它其实满容易的,就在 message 的第一层,然後要处理到每个人就要用 foreach
,还有如果是机器人的话就不处里
这边先在整个程序的最後面测试组合好的讯息
fixMarkdown()
是因为名字和 username 中会有奇怪的符号,导致被当成 Markdown 语法
具体是哪些符号官方文件有写
{chat_title}
{user_id}
{name}
{username}
这四样东东是为了让设定时比较方便,最後再用 str_replace()
换成变数
要注意的是除了小括号以内的网址,其他有半形符号的地方都建议加上反斜线 \
变成
打完程序就按下执行看看吧
如果有看到讯息就表示成功了
底下这则讯息是因为 .
没加到反斜线 \
Request has failed with error 400: Bad Request: can't parse entities: Character '.' is reserved and must be escaped with the preceding '\'
贴进去之後要把四个东东填进去
群组的名称
$message['chat']['title']
使用者的 uid
$new_member['id']
使用者的名字
因为「姓」跟「名」有可能不存在,不存在的话就换成空字串
($new_member['first_name'] ?? '') . ($new_member['last_name'] ?? '')
使用者的 username
跟名字一样有可能不存在,如果存在就加上 @
还有小括号
isset($new_member['username']) ? '(@' . $new_member['username'] . ')' : ''
完成後就等待新成员加入吧
比起JAVA档可以直接在命令列环境下进行练习和测试,JAVA WEB的专案就一定得在服务器(serv...
会话密钥可以用於在建立会话之後或在身份验证之後根据需要确保机密性和完整性。因此,主体的会话密钥最不可...
想做一个像siri /Hey Google这样的人工智慧搜寻引擎,但是没怎麽碰过,想请教该从哪里开始...
会发生css路径的问题可能是因为override的部分没有设定好,所以再重作一个container ...
最近因为工作的需求需要写 C#, 就是QA Q 到写 C# 的概念, 想说可以边学习边做个纪录顺便分...