Compare commits
	
		
			2 Commits
		
	
	
		
			288409a1c2
			...
			366f740795
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 366f740795 | |||
| 5a1c720181 | 
							
								
								
									
										61
									
								
								F1DataBot.pm
									
									
									
									
									
								
							
							
						
						
									
										61
									
								
								F1DataBot.pm
									
									
									
									
									
								
							| @@ -41,10 +41,13 @@ sub new { | |||||||
|     # load remembered update ids |     # load remembered update ids | ||||||
|     $Self->{MessageIDs} = YAML::LoadFile("$FindBin::Bin/message_ids.yml"); |     $Self->{MessageIDs} = YAML::LoadFile("$FindBin::Bin/message_ids.yml"); | ||||||
|  |  | ||||||
|  |     # whitelist | ||||||
|  |     $Self->{Whitelist} = $Param{Whitelist}; | ||||||
|  |  | ||||||
|     return $Self; |     return $Self; | ||||||
| } | } | ||||||
|  |  | ||||||
| =head1 Greet | =head1 greet | ||||||
|  |  | ||||||
| 	Merely a dummy routine to test the bot's functionallity. Maybe using it for easter eggs or some kind of fun later. | 	Merely a dummy routine to test the bot's functionallity. Maybe using it for easter eggs or some kind of fun later. | ||||||
|  |  | ||||||
| @@ -289,6 +292,38 @@ sub statistics { | |||||||
|  |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | =head1 replyLoveQuote | ||||||
|  |  | ||||||
|  |     Reply with lovely text to special user id. | ||||||
|  |  | ||||||
|  | =cut | ||||||
|  |  | ||||||
|  | sub replyLoveQuote { | ||||||
|  |  | ||||||
|  |     my ( $Self, %Param ) = @_; | ||||||
|  |  | ||||||
|  |     return unless $Self->{Whitelist}->{$Param{Message}->{from}->{id}} eq 'Sarah' || $Self->{Whitelist}->{$Param{Message}->{from}->{id}} eq 'Stefan'; | ||||||
|  |  | ||||||
|  |     my $LoveQuotes = YAML::LoadFile("$FindBin::Bin/lovely_quotes.yml"); | ||||||
|  |  | ||||||
|  |     my %MessageData; | ||||||
|  |     if ( ref $LoveQuotes eq 'ARRAY' ) { | ||||||
|  |  | ||||||
|  |         my $QuoteID = int( rand( $#{ $LoveQuotes } ) ); | ||||||
|  |  | ||||||
|  |         my $Message = $LoveQuotes->[$QuoteID]->{Text}; | ||||||
|  |         $Message .= "\n\n - <i>$LoveQuotes->[$QuoteID]->{Source}</i>"; | ||||||
|  |  | ||||||
|  |         %MessageData = ( | ||||||
|  |             text => $Message, | ||||||
|  |             parse_mode => 'HTML', | ||||||
|  |         ); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     return \%MessageData; | ||||||
|  |  | ||||||
|  | } | ||||||
|  |  | ||||||
| =head1 processMessage | =head1 processMessage | ||||||
|  |  | ||||||
| 	Function which receives a single message and decides what to to based on message content and attributes. | 	Function which receives a single message and decides what to to based on message content and attributes. | ||||||
| @@ -335,12 +370,19 @@ sub processMessage { | |||||||
|     else { |     else { | ||||||
|         $Self->{LogObject} |         $Self->{LogObject} | ||||||
|           ->debug( 'Command not recognized. Data: ' . $Param{Message}->{message}->{text} ); |           ->debug( 'Command not recognized. Data: ' . $Param{Message}->{message}->{text} ); | ||||||
|         $ResponseData->{text} = |         if ( $Self->{Whitelist}->{$Param{Message}->{message}->{from}->{id}} eq 'Sarah' | ||||||
|           "I'm sorry, " |             || $Self->{Whitelist}->{$Param{Message}->{message}->{from}->{id}} eq 'Stefan' ) { | ||||||
|           . ( $Param{Message}->{message}->{chat}->{first_name} |             $ResponseData = $Self->replyLoveQuote( Message => $Param{Message}->{message} ); | ||||||
|             ? $Param{Message}->{message}->{chat}->{first_name} |         } | ||||||
|             : $Param{Message}->{message}->{chat}->{username} ) |         else { | ||||||
|           . ", I couldn't understand your request. Currently I can process the commands:\n\n\t\/greet\n\t\/statistics driver standings\n\t\/statistics constructor standings"; |             $ResponseData->{text} = | ||||||
|  |               "I'm sorry, " | ||||||
|  |               . ( $Param{Message}->{message}->{chat}->{first_name} | ||||||
|  |                 ? $Param{Message}->{message}->{chat}->{first_name} | ||||||
|  |                 : $Param{Message}->{message}->{chat}->{username} ) | ||||||
|  |               . ", I couldn't understand your request. Currently I can process the commands:\n\n\t\/greet\n\t\/statistics driver standings\n\t\/statistics constructor standings"; | ||||||
|  |         } | ||||||
|  |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     my $ResponseResult = plain POST( |     my $ResponseResult = plain POST( | ||||||
| @@ -389,6 +431,11 @@ sub fetchMessages { | |||||||
|  |  | ||||||
|     MESSAGE: |     MESSAGE: | ||||||
|     for my $Message (@Messages) { |     for my $Message (@Messages) { | ||||||
|  |         if ( !$Self->{Whitelist}{$Message->{message}{from}{id}} ) { | ||||||
|  |             $Self->{LogObject} | ||||||
|  |               ->info( 'fetchMessages: User not whitelisted, skipping message ' . Dumper($MessageDataRaw) ); | ||||||
|  |             next MESSAGE; | ||||||
|  |         } | ||||||
|         if ($Self->{MessageIDs}{$Message->{message}{message_id}}) { |         if ($Self->{MessageIDs}{$Message->{message}{message_id}}) { | ||||||
|             $Self->{LogObject}->info('fetchMessages: Skipping known message_id'); |             $Self->{LogObject}->info('fetchMessages: Skipping known message_id'); | ||||||
|             next MESSAGE; |             next MESSAGE; | ||||||
|   | |||||||
							
								
								
									
										61
									
								
								lovely_quotes.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								lovely_quotes.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | |||||||
|  | --- | ||||||
|  | - | ||||||
|  |   Text: "Du bist schöner als die Menschenkinder; Gnade ist ausgegossen über deine Lippen; darum hat Gott dich gesegnet auf ewig." | ||||||
|  |   Source: "Psalm 45,3" | ||||||
|  | - | ||||||
|  |   Text: "Denn deine Liebe ist besser als Wein." | ||||||
|  |   Source: "Hohelied 1,2b" | ||||||
|  | - | ||||||
|  |   Text: "Wie schön ist deine Liebe, meine Schwester, meine Braut; wie viel besser ist deine Liebe als Wein, und der Duft deiner Salben als alle Wohlgerüche!" | ||||||
|  |   Source: "Hohelied 4,10" | ||||||
|  | - | ||||||
|  |   Text: "Denn die Liebe ist stark wie der Tod, und ihr Eifer unbezwinglich wie das Totenreich; ihre Glut ist Feuerglut, eine Flamme des Herrn. Große Wasser können die Liebe nicht auslöschen, und Ströme sie nicht ertränken." | ||||||
|  |   Source: "Hohelied 8,6b-7a" | ||||||
|  | - | ||||||
|  |   Text: "Denn an Liebe habe ich Wohlgefallen und nicht am Opfern, an der Gotteserkenntnis mehr als an Brandopfern." | ||||||
|  |   Source: "Hosea 6,6" | ||||||
|  | - | ||||||
|  |   Text: "Gleichwie mich der Vater liebt, so liebe ich euch; bleibt in meiner Liebe!" | ||||||
|  |   Source: "Johannes 15,9" | ||||||
|  | - | ||||||
|  |   Text: "Wenn ich in Sprachen der Menschen und der Engel redete, aber keine Liebe hätte, so wäre ich tönendes Erz oder eine klingende Schelle." | ||||||
|  |   Source: "1. Korinther 13,1" | ||||||
|  | - | ||||||
|  |   Text: "Und wenn ich Weissagung hätte und alle Geheimnisse wüsste und alle Erkenntnis, und wenn ich Glauben besäße, sodass ich Berge versetzte, aber keine Liebe hätte, so wäre ich nichts." | ||||||
|  |   Source: "1. Korinther 13,2" | ||||||
|  | - | ||||||
|  |   Text: "Die Liebe ist langmütig und gütig, die Liebe beneidet nicht, die Liebe prahlt nicht, sie bläht sich nicht auf; sie ist nicht unanständig, sie sucht nicht das Ihre, sie lässt sich nicht erbittern, sie rechnet das Böse nicht zu; sie freut sich nicht an der Ungerechtigkeit, sie freut sich aber an der Wahrheit; sie erträgt alles, sie glaubt alles, sie hofft alles, sie erduldet alles." | ||||||
|  |   Source: "1. Korinther 13,4-7" | ||||||
|  | - | ||||||
|  |   Text: "Lasst alles bei euch in Liebe geschehen!" | ||||||
|  |   Source: "1. Korinther 16,14" | ||||||
|  | - | ||||||
|  |   Text: "Die Frucht des Geistes aber ist Liebe, Freude, Friede, Langmut, Freundlichkeit, Güte, Treue, Sanftmut, Selbstbeherrschung," | ||||||
|  |   Source: "Galater 5,22" | ||||||
|  | - | ||||||
|  |   Text: "indem ihr mit aller Demut und Sanftmut, mit Langmut einander in Liebe ertragt" | ||||||
|  |   Source: "Epheser 4,2" | ||||||
|  | - | ||||||
|  |   Text: "Über dies alles aber zieht die Liebe an, die das Band der Vollkommenheit ist." | ||||||
|  |   Source: "Kolosser 3,14" | ||||||
|  | - | ||||||
|  |   Text: "Niemand verachte dich wegen deiner Jugend, sondern sei den Gläubigen ein Vorbild im Wort, im Wandel, in der Liebe, im Geist, im Glauben, in der Keuschheit!" | ||||||
|  |   Source: "1. Timotheus 4,12" | ||||||
|  | - | ||||||
|  |   Text: "denn Gott hat uns nicht einen Geist der Furchtsamkeit gegeben, sondern der Kraft und der Liebe und der Zucht." | ||||||
|  |   Source: "2. Timotheus 1,7" | ||||||
|  | - | ||||||
|  |   Text: "lasst uns aufeinander achtgeben, damit wir uns gegenseitig anspornen zur Liebe und zu guten Werken," | ||||||
|  |   Source: "Hebräer 10,24" | ||||||
|  | - | ||||||
|  |   Text: "Vor allem aber habt innige Liebe untereinander, denn die Liebe wird eine Menge von Sünden zudecken." | ||||||
|  |   Source: "1. Petrus 4,8" | ||||||
|  | - | ||||||
|  |   Text: "Geliebte, lasst uns einander lieben! Denn die Liebe ist aus Gott, und jeder, der liebt, ist aus Gott geboren und erkennt Gott." | ||||||
|  |   Source: "1. Johannes 4,7" | ||||||
|  | - | ||||||
|  |   Text: "Geliebte, wenn Gott uns geliebt hat, so sind auch wir es schuldig, einander zu lieben." | ||||||
|  |   Source: "1. Johannes 4,11" | ||||||
|  | - | ||||||
|  |   Text: "Und wir haben die Liebe erkannt und geglaubt, die Gott zu uns hat. Gott ist Liebe, und wer in der Liebe bleibt, der bleibt in Gott und Gott in ihm." | ||||||
|  |   Source: "1. Johannes 4,16" | ||||||
		Reference in New Issue
	
	Block a user