dim xmlhttp
set xmlhttp = createobject("msxml2.xmlhttp")
function getlastpostnumber2(channel, num)
on error resume next
dim chhref
dim pos
dim cyphers
dim pos1
dim symcnt
dim z
dim wi
const sl = "/"
cyphers = "1234567890"
pos = 1
getlastpostnumber2 = num
with xmlhttp
.open "get", "https://t.me/s/" & channel, false
.send
while pos > 0
pos = instr(pos, .responsetext, channel & sl)
chhref = ""
if pos > 0 then
pos1 = pos + len(channel) + 1
symcnt = pos1
while instr(cyphers, mid(.responsetext, symcnt, 1)) > 0
if err <> 0 then exit function
chhref = chhref & mid(.responsetext, symcnt, 1)
symcnt = symcnt + 1
wend
end if
if pos > 0 then
pos = pos + 1
getlastpostnumber2 = chhref
end if
wend
end function
Вызов:
lastpostnumber = getlastpostnumber2("Название ТГ-канала", N)
Примечания:
1. N может быть равен 0 в общем случае, но в эту переменную можно установить номер последнего известного поста, если периодически хотим получать обновления с канала. Если в момент выполнения функции, например, пропадет соединение с Интернет, то она вернет значение N.
2. Объект msxml2.domdocument также можно применить, но лучше не надо.