😎hiro (DragonGod)は、プレアデスからテラに転生し、自然豊かな北海道を愛し、人生を楽しんでいる方々のためのTelegramチャンネルです。チャンネルのユーザー名は「@dg_hiro」となっており、北海道の自然を愛するDragonGodとして知られています。このチャンネルでは、自然や北海道に関する情報、写真、動画などが共有されており、自然を愛する人々にとっては必見のコンテンツとなっています。DragonGodの人生観や考え方に触れることで、気持ちをリフレッシュしたり、新たな視点を得ることができるかもしれません。😎hiro (DragonGod)チャンネルへの参加を通じて、自然と人生を楽しむ素晴らしさを共有しましょう!
07 Jan, 14:39
06 Jan, 11:44
04 Jan, 00:05
03 Jan, 10:34
02 Jan, 20:53
01 Jan, 01:14
31 Dec, 12:47
30 Dec, 15:31
30 Dec, 15:19
30 Dec, 10:06
29 Dec, 12:44
28 Dec, 09:12
28 Dec, 06:39
28 Dec, 00:09
27 Dec, 10:56
26 Dec, 22:55
24 Dec, 10:19
23 Dec, 22:39
23 Dec, 15:32
22 Dec, 01:45
20 Dec, 22:46
20 Dec, 11:37
18 Dec, 22:57
18 Dec, 13:29
17 Dec, 12:54
17 Dec, 12:46
30 Nov, 03:02
30 Nov, 02:23
29 Nov, 10:29
28 Nov, 23:38
getenv("TELEGRAM_BOT_TOKEN")
API_KEY = os.getenv("X_API_KEY")
28 Nov, 23:38
from telegram.ext import Updater, MessageHandler, Filters
import tweepy
import os
# TelegramのBot APIトークン
TELEGRAM_BOT_TOKEN = 'your_telegram_bot_token_here'
# X(旧Twitter)API認証情報(Twitter Developerから取得)
API_KEY = 'your_x_api_key_here'
API_SECRET_KEY = 'your_x_api_secret_key_here'
ACCESS_TOKEN = 'your_x_access_token_here'
ACCESS_TOKEN_SECRET = 'your_x_access_token_secret_here'
# 条件となる特定の文字列(例:#TwitterPost)
TARGET_KEYWORD = "#TwitterPost"
# Xにメッセージや画像を投稿
def post_to_x(message, media_path=None):
# X APIの認証
auth = tweepy.OAuth1UserHandler(API_KEY, API_SECRET_KEY, ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)
try:
if media_path: # 画像や動画付きの投稿
media = api.media_upload(media_path)
api.update_status(status=message, media_ids=[media.media_id])
else: # メッセージのみ投稿
api.update_status(status=message)
print("Posted to X successfully!")
except Exception as e:
print(f"Error posting to X: {e}")
# メッセージを整形(条件に従う)
def format_message(message, telegram_url=None):
max_length = 250
if len(message) > max_length:
message = message[:max_length] + "\n\n" + (telegram_url or "")
return message
# Telegramメッセージ受信時の処理
def handle_message(update, context):
# 投稿されたメッセージ
message = update.message.text or ""
telegram_url = f"https://t.me/{update.message.chat.username}/{update.message.message_id}"
# 特定の文字列が含まれるか確認
if TARGET_KEYWORD not in message:
return # 条件に一致しない場合、処理しない
print(f"Received message: {message}")
# 画像や動画の取得(オプション)
media_file_path = None
if update.message.photo: # 写真が含まれる場合
photo = update.message.photo[-1] # 最も高解像度の画像を選択
file = context.bot.get_file(photo.file_id)
media_file_path = "temp.jpg"
file.download(media_file_path)
elif update.message.video: # 動画が含まれる場合
video = update.message.video
file = context.bot.get_file(video.file_id)
media_file_path = "temp.mp4"
file.download(media_file_path)
# メッセージを整形
formatted_message = format_message(message, telegram_url)
# Xに投稿
post_to_x(formatted_message, media_file_path)
# ダウンロードしたファイルを削除
if media_file_path and os.path.exists(media_file_path):
os.remove(media_file_path)
# メイン関数
def main():
# TelegramのBot初期化
updater = Updater(TELEGRAM_BOT_TOKEN, use_context=True)
dp = updater.dispatcher
# メッセージ・画像・動画の受信時に処理を実行
dp.add_handler(MessageHandler(Filters.text | Filters.photo | Filters.video, handle_message))
# ボットを開始
updater.start_polling()
updater.idle()
# スクリプトの実行
if __name__ == "__main__":
main()
telegram.ext:
Telegramメッセージを処理。 tweepy:
X(旧Twitter)投稿用。 os:
一時ファイル操作に使用。 TELEGRAM_BOT_TOKEN:
Telegram Botのアクセストークン。 API_KEY`、`API_SECRET_KEY`、`ACCESS_TOKEN`、`ACCESS_TOKEN_SECRET:
X API認証情報。 TARGET_KEYWORD:
メッセージの条件となる特定文字列(例: `#TwitterPost`)。 handle_message:
Telegramからメッセージやメディアを受信。 format_message:
メッセージを整形。250文字を超えた場合は切り取り、Telegram投稿URLを追加。 post_to_x:
整形後のメッセージと画像/動画をXに投稿。 TARGET_KEYWORD
に指定した特定文字が含まれるメッセージだけを対象。 #TwitterPost
が含まれ、250文字以内であればそのまま投稿。import os
TELEGRAM_BOT_TOKEN = os.
28 Nov, 10:55
28 Nov, 09:34
28 Nov, 02:11
27 Nov, 12:34
26 Nov, 10:59
26 Nov, 05:35
21 Nov, 03:03
20 Nov, 12:51
20 Nov, 12:17
19 Nov, 03:16
17 Nov, 09:59
17 Nov, 09:50
17 Nov, 08:20
17 Nov, 01:25
16 Nov, 14:18
16 Nov, 12:04
16 Nov, 06:48
16 Nov, 02:39
14 Nov, 14:12
14 Nov, 13:55
14 Nov, 12:50
14 Nov, 09:38
13 Nov, 13:33
13 Nov, 11:30
12 Nov, 12:38
12 Nov, 12:19
11 Nov, 23:40
11 Nov, 15:11
11 Nov, 12:00
10 Nov, 12:33
09 Nov, 05:47
08 Nov, 10:35
07 Nov, 03:12
06 Nov, 03:25
05 Nov, 11:16
04 Nov, 12:05
04 Nov, 07:06
03 Nov, 13:07
03 Nov, 12:58
03 Nov, 01:52
02 Nov, 10:39
02 Nov, 03:55
02 Nov, 02:42
26 Oct, 02:36
25 Oct, 13:47
25 Oct, 10:33
24 Oct, 22:54
24 Oct, 10:22
23 Oct, 12:22
23 Oct, 10:34
23 Oct, 10:19
21 Oct, 14:13
20 Oct, 12:19
20 Oct, 05:29
20 Oct, 00:44
19 Oct, 05:35
19 Oct, 02:08
18 Oct, 13:48
17 Oct, 22:58