This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def days_hours_minutes_seconds(td): | |
seconds = td.total_seconds() | |
if seconds < 0: | |
seconds = -seconds | |
suffix = "later" | |
else: | |
suffix = "ago" | |
seconds = int(seconds) | |
if seconds < 60: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import json | |
import os | |
from telegram import Update | |
from telegram.ext import CallbackContext, CommandHandler, MessageHandler, Updater, Filters | |
class BroadcastBot: | |
def __init__(self, token, data_file, admin_password, access_password=None): | |
self.updater = Updater(token) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <curl/curl.h> | |
#include <string.h> | |
#include <stdlib.h> | |
#include <arpa/inet.h> | |
#include <sys/socket.h> | |
#include <ifaddrs.h> | |
#include <stdio.h> | |
#include <unistd.h> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
libinput version: 1.14.901 | |
event5 - AlpsPS/2 ALPS GlidePoint: is tagged by udev as: Touchpad | |
event5 - AlpsPS/2 ALPS GlidePoint: device is a touchpad | |
-event5 DEVICE_ADDED AlpsPS/2 ALPS GlidePoint seat0 default group1 cap:pg size 102x29mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on | |
event5 - button state: touch 0 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA | |
event5 - button state: touch 1 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA | |
event5 - gesture state: GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN | |
event5 - gesture state: GESTURE_STATE_UNKNOWN → GESTURE_STATE_SCROLL | |
event5 POINTER_AXIS +0.023s vert 0.00/0 horiz 18.80/0* (finger) | |
event5 POINTER_AXIS +0.036s vert 0.00/0 horiz 27.61/0* (finger) |