summary refs log tree commit diff
path: root/etc/gitea2mastodon.rb
blob: 950a881ba05569019dcd187e1d90e1b930b36c43 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env ruby
require 'cgi'
require 'json'
require 'mastodon'

require_relative 'secret'

cgi = CGI.new
begin
	payload = JSON.parse(cgi.params['payload'].first)
rescue
	cgi.out('status' => 'BAD_REQUEST', 'type' => 'text/plain') { 'bad' }
	exit
end
if payload['secret'] != GITEA_SECRET
	cgi.out('status' => 'FORBIDDEN', 'type' => 'text/plain') { 'no' }
	exit
end

client = Mastodon::REST::Client.new(
	base_url: MASTODON_URL,
	bearer_token: MASTODON_TOKEN,
)

payload['commits'].reverse.each do |commit|
	next unless commit['message'].include?("\n\n")
	message = commit['message']
		.split("\n\n")
		.map {|p| p.split("\n").join(' ') }
		.join("\n")
	client.create_status("🚽 #{message}\n#{commit['url']}")
end

cgi.out('text/plain') { 'ok' }
href='/catgirl/commit/command.c?h=enroll&id=00f0f94fc80ebecff531388e38d0fb121e3f4e74&follow=1'>Delegate to commandPrivmsg from commandMsgJune McEnroe 2020-02-10Synthesize a QUIT message to handle on exitJune McEnroe 2020-02-10Factor out XDG base directory codeJune McEnroe 2020-02-10Leave a blank line after loaded bufferJune McEnroe 2020-02-10Add -s to save and load buffersJune McEnroe 2020-02-10Show heat and other unread in titleJune McEnroe 2020-02-10Eliminate array in hashJune McEnroe 2020-02-10Add -HJune McEnroe 2020-02-10Hash to colors in the range 2-75June McEnroe 2020-02-10Improve color fudgingJune McEnroe 2020-02-10Support all 99 IRC colorsJune McEnroe 2020-02-10Avoid coloring mentions if there are control codesJune McEnroe 2020-02-10Recalculate unreadLines on reflowJune McEnroe 2020-02-10Only make windows hotterJune McEnroe 2020-02-10Always increase unreadLinesJune McEnroe 2020-02-10Move scroll marker on resizeJune McEnroe 2020-02-10Update line count for words longer than linesJune McEnroe 2020-02-10Simplify mark, heat, unread trackingJune McEnroe 2020-02-10Update prompt when own nick changesJune McEnroe 2020-02-10Match URLs surrounded by parenthesesJune McEnroe 2020-02-10Fix M-a so it properly cycles back to where it startedJune McEnroe 2020-02-09Add M-lJune McEnroe 2020-02-09Add /whoisJune McEnroe 2020-02-09Add /msgJune McEnroe