Surveillance Tweeter

Partager vos scripts et fonctions intéressantes
Paneb
Posts: 54
Joined: 24 Aug 2015, 05:02
GitHub: PanebFR
Location: France

Surveillance Tweeter

23 Feb 2017, 04:02

Bonjour par ici ! :)

J'ai décidé de mettre en forme un script que j'ai rédigé pour venir en aide à un utilisateur dans la partie anglophone du forum (même si je crois qu'il est espagnol de mémoire :D) : https://www.autohotkey.com/boards/viewtopic.php?t=14986 .
L'idée est de surveiller les flux Twitter pour être informé dans le meilleur délais des nouveaux Tweet (utile typiquement pour les hashtag avec des promotions à la clé :twisted: ), qui s'affiche sous forme d'une info-bulle.

Je suppose qu'utiliser l'API de Twitter est tout à fait possible, mais comme à l'époque je suis allé au plus simple j'ai opté pour superviser un flux RSS faisant la même chose.
Un script à intégrer au document est utilisé plutôt qu'un service tout fait, cela permet un meilleur temps de réaction.
L'exemple donné dans le script surveiller " #AutoHotKey". Comme il est pas souvent utilisé je n'ai pas eu l'occasion de le voir passer, mais hésitez pas à le tester :superhappy: !
Si il y a des précisions à apporter sur son fonctionnement n'hésitez pas à demander, mais il est assez intuitif :ugeek: .

Code: Select all

#NoEnv
#Persistent
SetWorkingDir %A_ScriptDir%

;You need to use something to generate RSS based on Twitter, like this one : https://www.labnol.org/internet/twitter-rss-feed/28149/
;The URL provides with this script in var RssTwitter should be looking for #AutoHotKey.
;Please tried it out! :) 

RssTwitter := "https://script.google.com/macros/s/AKfycbzjst7qEt785uOklbnGFqYk8adF87twnEPHjFhDL4Fw_IPu2yhu/exec?834685062180384769"
NewTwitterFile := "lastRSS.txt"
OldTwitterFile := "olderRSS.txt"
 
GoSub checkMyTweet
SetTimer, checkMyTweet, 120000
Return
 
checkMyTweet:
IfNotExist, %OldTwitterFile%
	{
		UrlDownloadToFile, %RssTwitter%, %OldTwitterFile%
		Return
	}
UrlDownloadToFile, %RssTwitter%, %NewTwitterFile%
NewTwitterArray := Object()
OldTwitterArray := Object()
NewTwitterContentArray := Object()
 
FileRead, myFile, %A_ScriptDir%\%NewTwitterFile%
pos := 0
While, pos := RegExMatch(myFile, "<pubDate.*?</pubDate>", entree, pos + 1)
{
  NewTwitterArray[ A_Index ] := entree
}
pos:=0
While, pos := RegExMatch(myFile, "/a>.*?]]", entree, pos + 1)
{
	  StringTrimRight, entree, entree, 2
	  StringTrimLeft, entree, entree, 3
      NewTwitterContentArray[ A_Index ] := entree
}
 

FileRead, myFile, %A_ScriptDir%\%OldTwitterFile%
pos := 0
While, pos := RegExMatch(myFile, "<pubDate.*?</pubDate>", entree, pos + 1)
{
  OldTwitterArray[ A_Index ] := entree
}
 
dateToDisplay := Object ()
tweetToDisplay := Object()
ArrayCountTray := 0
If(NewTwitterArray[1] == OldTwitterArray[1])
{
	;Return ; Please uncomment if you don't want the tray tip "no new tweet"
	TrayTip , Tweeter RSS-AHK-Feed, No new tweet from our birds :(, 10	
}
Else
{
	ArrayCountNew := NewTwitterArray._MaxIndex() 
	ArrayCountOld := OldTwitterArray._MaxIndex()
 
 
	Loop %ArrayCountNew%
	{	
		saveIndex := A_Index
		store := 1
		Loop %ArrayCountOld%
		{
			If(OldTwitterArray[A_Index] == NewTwitterArray [saveIndex]){
				store := 0
			}
 
		}
		If(store == 1){
			ArrayCountTray := ArrayCountTray+1
			dateToDisplay%ArrayCountTray% := NewTwitterArray [saveIndex]
			tweetToDisplay%ArrayCountTray% := saveIndex
		}
 
 
	}
}
 
Loop %ArrayCountTray%
{
	element := dateToDisplay%A_Index%
	StringTrimLeft, element, element, 9
	StringTrimRight, element, element, 10
	tmp := tweetToDisplay%A_Index%
	tweet := NewTwitterContentArray[tmp]
	TrayTip , Tweeter RSS-AHK-Feed, New tweet : %tweet% !, 10
	Sleep 10000
}
 
FileDelete, %A_ScriptDir%\%OldTwitterFile%
FileMove, %A_ScriptDir%\%NewTwitterFile%, %A_ScriptDir%\%OldTwitterFile%
Return
User avatar
joedf
Posts: 6693
Joined: 29 Sep 2013, 17:08
Facebook: J0EDF
Google: +joedf
GitHub: joedf
Location: Canada, Quebec
Contact:

Re: Surveillance Tweeter

23 Feb 2017, 15:57

interessant haha "our birds" ;)
Image Image Image Image Image
Windows 10 x64 Professional, Intel i5-8500 @ 3.00 GHz, 16GB DDR4 3200 MHz, NVIDIA GTX 1060 6GB | [About Me] | [ASPDM - StdLib Distribution]
[Populate the AHK MiniCity!] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library] | [About the AHK Foundation]
Paneb
Posts: 54
Joined: 24 Aug 2015, 05:02
GitHub: PanebFR
Location: France

Re: Surveillance Tweeter

24 Feb 2017, 03:53

On s'amuse comme on peut ! :dance:

Return to “Scripts et Fonctions”

Who is online

Users browsing this forum: No registered users and 1 guest